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