int i,a=0,b=0,c=0,i; for(i=0,i<4;i++) switch(i) { case 0:a++; case 1 :b=i++; case2:c=i++; case3:i++

C语言中,输出a,b,c,i的值为什么是0,1,2,5呢?
2024年12月04日 03:32
有2个网友回答
网友(1):

我只知道最后i肯定变成了5
解析如下:
在switch语句里有i++,所以for循环的计数变量i在循环体内就被改动,导致循环提前退出。当for循环从0开始循环,switch语句有匹配的 标号,自匹配的标号到swich语句结束,执行各个case语句,当switch语句结束时,i的值已经为4,再加上for循环的自增1,i值已经为5, 所以不再满足循环条件,退出循环。

网友(2):

你的题目不完整