这个程序过程略有复杂
首先考核你对while,case,break,continue,++的理解
整个程序执行过程如下:
1.while(c<D)条件成立
swtich(c++) 此时c是后++,它仍为A,语句结束后c==B
所以执行
case A:
k++; //k=1
然后一个 continue;回到while(c)处
2.火社势果模while(c<D)
由于上面的c++,所以c==B,仍符合循环条件,继续
swtich(c++) 此时c是后++,它为B,语句结束后c==C
case A:条件不成立,直接执行
case B:
k+=2; //k=3;
但由于没有break;继续执行
case C:
k--; //k=2
由break;退出switch,回到while
3.while(c<D)
此时c==C仍小于D,所以继续执行
swtich(c++) 此时c是后++,它为C,语句结束后c==D
直接转到
case C:
k--; //k=1
再由break;退出switch,回到while
4. while(c<D)
此时c==D,条件不成立,退出循环
而default不会执行
所以最终结果为
k=1
c语言解析
2023-11-30 21:05:21
char c=A;int k=0
while(c<D)
switch(c++)
caseA k++;continue
caseB;k+=2
casec k--;break
default k/=3
k++
运行k为
好评回答
其他回答
k++自增一,希望帮到您