但是这个题当k=7的时候不是已经break了嘛 怎么程序还在继续运行 最后结果是s=7???????
int main(int argc, const char * argv[])
{
int s=0,k;
for (k=7;k>=0;k--)
{
switch(k)
{
case 1:
case 4:
case 7: s++; break;
case 2:
case 3:
case 6: break;
case 0:
case 5: s+=2; break;
}
}
printf("s=%d\n",s);
}
break 就只是跳出一次循环吗 我把break改成continu刚实验了一下结果也是一样的 那在这个程序中2者不是没区别了嘛 要是有是怎样的呢 求详解 我是C的小白
追答for 跟 switch 都能被break,是按照嵌套策略的,也就是说由里到外跳出来,你在switch里面break就跳出switch,但for没有被break。所以for是继续执行的。
continue的意思是“放弃本次循环,进入下一次循环”,是不会强制跳出for的。另外,continue对switch来说没有意义,switch本来就只执行一次(你的例子中一个for循环执行一次)。