यहां switch
कथन का एक उदाहरण दिया गया है। मैं मिलता है नहीं क्यों यह इस तरह से काम करता है:स्विच स्टेटमेंट में मैं किसी अन्य मामले के अंदर मामला क्यों रख सकता हूं?
int main(){
int number1 = 100, number2 = 200;
switch(number1){
case 100:{
cout << " outer switch number is: " << number1 << endl;
case 200:{ // any value other than 100
cout << "inner switch number is: " << number2 << endl;
}
break;
}
break;
}
return 0;
}
प्रिंट उपरोक्त कार्यक्रम:
100
और फिरcase 200
के अगले बयान प्रिंट करता है। इसके अलावा यदि दूसरे मामले में200
के अलावा कोई भी मूल्य उपयोग किया जाता है, तो यह अभी भी निष्पादित हो जाता है। मुझे पता है किcase 100
के बादbreak
नहीं है। लेकिन मुझे इसके बजाय संकलन-समय त्रुटि क्यों नहीं मिलती है?साफ होने के लिए, क्यों आंतरिक मामले के अंदर किसी अन्य मान भी सफल होगा? जैसे,
case 70000:
कुछ अतिरिक्त बाधाओं के साथ एक स्विच/केस काफी मूल्य गणना गोटो/लेबल है। – Eljay
'केस 100' और 'केस 200' के बीच कोई' ब्रेक 'कथन नहीं है, इसलिए गिरावट होती है। –
['स्विच' में किसी भी व्यक्ति की तुलना में कहीं अधिक बुरा चीजें हैं] (http://blog.robertelder.org/switch-statements-statement-expressions/)। –