台美军舰互访:c语言设计c

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/29 07:59:55
?? 9.以下程序运行后的输出结果是 _______ 。
?? main()
?? { int x=1,y=0,a=0,b=0;
?? switch(x)
?? {case 1:switch(y)
?? { case 0:a++; break;
?? case 1:b++; break;
?? }
?? case 2:a++;b++; break;
?? }
?? printf("%d %d\n",a,b);
?? }
谁能说明一下个行的意思
说的越详细越好

这个结果是
2 1
初始x=1 第一层switch执行case 1后的语句块
这时y=0 第二层switch执行case 0后的语句块:a自增1 此时a=1,break跳出第二层的switch
由于第一层的case 1后没有break语句,所以继续向下运行第一层switch的case 2后的语句块
a、b都自增1
此时
a=2
b=1

printf输出 a、b的值 为2 1