循环 - 初学者

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了循环 - 初学者相关的知识,希望对你有一定的参考价值。

我是C(和编程)的初学者,我发现自己遇到了这个问题。

代码编译,但它返回给我直到11号。我将“While循环”设置为“<= 10”时停止。所以对我来说没有多大意义。

提前谢谢=)。

#include <stdio.h>

int main (void)

{
    int n;

    n = 0;


    while (n <= 10) {
    n++;
    printf("%i
", n);

}

return 0;

}
答案

n等于10时,n <= 10为真,那么n++;n增加1,而printf()将打印11;之后,n <= 10将失败,并且while循环完成。

另一答案

while循环的基本行为是:

  1. 检查条件。
  2. 如果是假的,请停止。
  3. 否则,执行循环的整个主体。
  4. 回到1。

换句话说,它不会在条件变为假的瞬间停止,而是仅在主体完成执行之后停止。所以在这种情况下,当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 == 10的最后一个循环中,变量n增加1,即11,然后打印为n == 11。

打印后应增加n。

#include <stdio.h>

int main (void)

{
    int n;
    n = 0;

    while (n <= 10){
       printf("%i
", 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++;
}

以上是关于循环 - 初学者的主要内容,如果未能解决你的问题,请参考以下文章

使用从循环内的代码片段中提取的函数避免代码冗余/计算开销

译文:18个实用的JavaScript代码片段,助你快速处理日常编程任务

AVKit – 视频片段仅循环 2 次

如何使用事件侦听器来加载动画片段的循环

c_cpp 这个简单的代码片段显示了如何使用有符号整数在C中完成插值。 for()循环确定要插入的范围

创建自己的代码片段(CodeSnippet)