下面程序的运行结果是?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