循环 - 初学者

时间:2014-05-01 16:29:38

标签: c loops while-loop

我是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;

}

7 个答案:

答案 0 :(得分:1)

n等于10时,n <= 10为真,则n++;会将n增加1,而printf()将打印11;之后,n <= 10将失败,while循环结束。

答案 1 :(得分:1)

while循环的基本行为是:

  1. 检查条件。
  2. 如果是假,请停止。
  3. 否则,执行整个循环。
  4. 回到1。
  5. 换句话说,它不会在条件变为假的瞬间停止,而是仅在主体完成执行之后停止。所以在这种情况下,当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++;
}