मुझे पता है कि यह कोड "अपेक्षित" के रूप में काम नहीं करता है। बस इस कोड पर जल्दी की तलाश में, हमें लगता है कि वापसी मान 1 होना चाहिए, लेकिन निष्पादन में यह रिटर्न 3.स्विच में गलत एकाधिक मामले संकलक त्रुटि उत्पन्न नहीं करते
// incorrect
variable = 1;
switch (variable)
{
case 1, 2:
return 1;
case 3, 4:
return 2;
default:
return 3;
}
वापस आती है और वहाँ कुछ सही विकल्प यह करने के लिए कर रहे हैं:
// correct 1
variable = 1;
switch (variable)
{
case 1: case 2:
return 1;
case 3: case 4:
return 2;
default:
return 3;
}
या
// correct 2
switch (variable)
{
case 1:
case 2:
return 1;
case 3:
case 4:
return 2;
default:
return 3;
}
यह आंशिक रूप से Multiple Cases in Switch:
में उत्तर दिया जाता है मैं करूंगा यह जानना कि गलत फॉर्म त्रुटि या यहां तक कि चेतावनियों के बिना संकलित क्यों करता है (कम से कम बोर्लैंड सी ++ कंपाइलर में)।
उस कोड में संकलक क्या समझता है?
मूल्य होता है की वजह से
case 2:
के बराबर [कैसे अल्पविराम ऑपरेटर काम करता है?] (Http: // stackoverflow। कॉम/प्रश्न/54142/कैसे-करता-द-कॉमा-ऑपरेटर-काम) –