- 下面程序的运行结果是?main(){intx=0,y=0,z=0
- main(){intx=0,y=0,z=0;do{swch(y++)case1:x++;break;case3:x+=3;break; }z++;}while(y<5);printf("x=%d,y=%d,z=%d\n",x,y,z);}答案是x=0,y=5,z=1可是我算了好几遍z都得2,就是Z不会做,请大家详细的说说过程,谢谢大家了!!!
- { } 都没有配对……
不过我还是看懂你的意思了。的确应该为2,答案错了。
第一次循环,y++表达式的值为0,去default,x=0,continue
此时x=0,y=1,z=0
第二次循环,去case 1,x++,break退出switch,z++
此时x=1,y=2,z=1
第三次循环,去default,x=1%2,continue
此时x=1,y=3,z=1
第四次循环,去case 3,x+=3,break退出switch,z++
此时x=4,y=4,z=2
第五次循环去default,x=4%2,continue
此时x=0,y=5,z=2
while条件不成立,退出循环
输出结果0 5 2