c语言的一个问题?

为什么在第一个后遇到break不会终止整个循环,而是到了第二个break终止循环

swtich语句需要break才能结束,否则会从遇到相同的值的地方开始,一直向下执行,直到遇到break才会结束。当k=1时,执行default,c+=k后c=1,没有遇到break;下一条是c++后c=2,然后遇到了break,跳出switch语句,执行循环的增量表达式k++。k=2,执行case 2:c++,现在c=3,遇到break,跳出switch语句,再执行循环的增量表达式k++,3<3不成立,结束循环。所以答案为A追问

break作用不是直接结束循环嘛,为什么第一次在default之后再case2之后的break不直接结束循环呢,

追答

不,break既可以结束循环又可以跳出switch语句,但一个break只能结束一个,结束了switch就不能结束循环了。
你最好能对switch语句能有更深入的了解,最好看一下相关教程
望采纳

温馨提示:答案为网友推荐,仅供参考
相似回答