C语言为
使用continue之后for循环会多执行一次?
在这个代码中,for循环的循环条件是i小于等于20。因此,当i等于20时,循环体内的语句会被执行,然后i会自增1,变成21,此时循环条件不满足,for循环就结束了。
在循环体内使用continue语句时,它会立即跳过本次循环的剩余部分,直接进入下一次循环。因此,在这个代码中,当i等于10时,continue语句会使程序跳过本次循环的剩余部分,i直接加1变成11,然后开始下一次循环。因此,i会依次取值1、2、3、4、5、6、7、8、9、11、12、13、14、15、16、17、18、19、20、21。
因此,n可以取到21。
第一个图里的打印语句,不包含在 for循环的作用域里了,所以最终循环结束 n 就是 21
第二个图里的打印语句,在 for循环的作用域里, 所以 最后打印的是 20, 因为 n = 21 不满足条件,退出循环了
如果多个语句在逻辑上是一个整体,并且需要执行,那么它们必须用大括号括起来,以表示它们是一个整体和一个复合语句。如果只有一个语句,则可以省略大括号。
并不是continue的问题而是因为你for没加花括号.
在图一里for下面的语句都不包含在for循环中,因此满足条件可以一直到循环结束n=21
在图二里for下面只有一条printf语句,所以该语句在for循环中n=20;
for循环加一个大括号括起来
最后n都是21,只不过第一个打印语句在循环外,第二个语句在循环内