一道大一C语言问题,大家们看一下我写的答案为什么不是40?

img

img

基本逻辑没有错,但是你在写代码的时候,稍微加一点判断,想想程序是怎么运行的,你每次循环,print都会在循环体里执行,这个时候你就要想,不想输出那么多遍,怎么办?那就从循环里拿出来呀,最后输出的结果不就是最终循环结束的sum的值吗

因为你把print写到循环里面了,所以会不停的输出sum,最后一个是40,可是你把中间结果也都输出了

printf放到14行大括号后面

img

输出的还是20

变量j循环一次之后没有改回0,第一次循环之后就结束了,第二次循环条件就不成立了。