break問(wèn)題,為何第二個(gè)注釋是終止第一個(gè)switch
# include <stdio.h>??
??
int main()??
{??
? ? int x = 1, y = 0, a = 0, b = 0;??
? ? ??
? ? switch(x)? ? //第一個(gè)switch??
? ? {??
? ? case 1:??
? ? ? ? switch(y)? //第二個(gè)switch??
? ? ? ? {??
? ? ? ? case 0:??
? ? ? ? ? ? a++;??
? ? ? ? ? ? break;//終止的是第二個(gè)switch??
? ? ? ? case 1:??
? ? ? ? ? ? b++;??
? ? ? ? ? ? break;//終止的是第一個(gè)switch??
? ? ? ? }??
? ? ? ? b = 100;??
? ? ? ? break;??
? ? case 2:??
? ? ? ? a++;??
? ? ? ? b++;??
? ? ? ? break;??
? ? }??
? ? printf("a = %d, b = %d\n", a, b);??
? ? ??
? ? return 0;??
}??
2018-05-10
switch(y)
? {??
? ? ? ? case 0:??
? ? ? ? ? ? a++;??
? ? ? ? ? ? break;//終止的是第二個(gè)switch??
? ? ? ? case 1:??
? ? ? ? ? ? b++;??
? ? ? ? ? ? break;//終止的是第一個(gè)switch??
? ? ? ? }??
這是第一個(gè)switch(X)中case1的一個(gè)執(zhí)行代碼,這個(gè)執(zhí)行代碼結(jié)束了那就自動(dòng)繼續(xù)b=100;break;然后再跳出
2018-03-22
首先第二個(gè)注釋沒(méi)有終止第一個(gè)switch。
第二個(gè)break跳出了第二個(gè)switch語(yǔ)句,然后執(zhí)行b=100