C语言问题:为什么下图输出的结果是31
发布网友
发布时间:2023-12-12 16:21
我来回答
共2个回答
热心网友
时间:2023-12-17 05:18
因为第一次i=1
从case 1:开始运行
+3+5就加了8
case语句 要用break跳出 否则 依次运行
第二次 i=2
+3+5 变成16
第三次 i=3
+2+3+5 变成26
第四次 i=4
+5 变成31
烦请采纳 不懂可追问
热心网友
时间:2023-12-17 05:19
所有的case和default标签都没有breka语句,因此转到某个case后会继续向下执行直到离开switch语句。
case 1:执行a+=3,a+=5,a变为8
case 2:执行a+=3,a+=5,a变为16
case 3:执行a+=2,a+=3,a+=5,a变为26
case 4=default,执行a+=5,a变为31
printf("%d", a),输出31。