我是C(和编程)的初学者,我发现自己遇到了这个问题。
代码编译,但它返回给我直到11号。我将“While循环”设置为“<= 10”时停止。所以对我来说没有多大意义。
提前谢谢=)。
#include <stdio.h>
int main (void)
{
int n;
n = 0;
while (n <= 10) {
n++;
printf("%i\n", n);
}
return 0;
}
当n
等于10时,n <= 10
为真,那么n++;
将n
增加1,而printf()
将打印11;之后,n <= 10
将失败,并且while
循环完成。
while循环的基本行为是:
换句话说,它不会在条件变为假的瞬间停止,而是仅在主体完成执行之后停止。所以在这种情况下,当n = 10时,n<=10
为真,循环体执行,首先将n
递增到11.循环执行不会在此停止,尽管n<=10
现在为false。相反,它继续到printf
调用,打印出11.现在循环体已完成,再次检查条件,因为它是假的,循环终止。
因为你将n设置为0并且在while循环中迭代到10,所以循环迭代11次。试试n <10!
因为你说while(n <= 10)要递增。
当n变为10时,它会根据您的情况进行检查。 10小于等于10?是的它等于10,所以进入循环,并将10递增1并打印。
直到n在下一次传球中变为11才会满足条件。
尝试,
n=0;
while(n<=10) { printf("%i\n", n); n++; }
首先在打印前增加变量n。因此,在n == 10的最后一个循环中,变量n增加1,即11,然后打印为n == 11。
打印后应增加n。
#include <stdio.h>
int main (void)
{
int n;
n = 0;
while (n <= 10){
printf("%i\n", n);
n++;
}
return 0;
}
在循环的最后一次迭代中(即,n = 10),循环条件满足并且控制进入循环。在循环体中,首先执行n ++,然后执行11.然后执行printf(),打印值11。
如果要打印1到10,则初始化n = 1并在printf()之后执行n ++。
int n=1;
while( n <= 10 ) {
printf( "%d\n", n );
n++;
}