C loop while - beginner

时间:2016-01-09 14:45:00

标签: c loops while-loop

My first question here on forum. I'm not sure why the output of the code is "hi" whereas I'm thinking it should be null. I might be missing here something badly. Help appreciated.

#include <stdio.h>

int main(void)    
{
    int i = 0;
    while (i == 0)
    {
        printf("hi\n");
        i++;    
    }
}

5 个答案:

答案 0 :(得分:2)

你的while循环将运行你所包含的内容,直到停止条件为假。您已将int i = 0作为起始值,并且您的while循环条件显示while (i == 0)以打印&#34; hi&#34;。由于i = 0,您的条件为真一次,并且将打印&#34; hi&#34;一旦我增加并在下一次传球中变为假。

答案 1 :(得分:1)

您的代码输出正确,输入了while循环,因为i == 0然后i更改为1,因此第二次迭代时条件为false使循环结束,因此也是程序。

答案 2 :(得分:1)

当循环使用until循环(C没有)时,你会感到困惑。 while循环将执行其主体,而条件为真,而直到为真。因此,如果您想要打印“hi”10次,则需要编写

int i = 1;

while (i <= 10) {
    printf("hi\n");
    ++i;
}

答案 3 :(得分:1)

#include <stdio.h>

int main(void)    
{
    int i = 0;
    while (i == 0)
    {
        printf("hi\n");
        i++;    
    }
}

while循环的工作方式是只有在括号内的条件为真时才执行循环。在上面的代码中,'i'的值最初设置为0,这满足while循环的条件。它进入循环内部,继续打印'hi'然后增加'i'的值。

现在再次检查while的条件。由于这次条件失败,随着'i'的值增加,它退出循环并且程序终止。我希望它能回答你的问题。

答案 4 :(得分:-1)

像@iharob说的那样,i == 0返回1,这会创建一个无限循环运行并打印hi hi hi hi hi

如果我要这样做,我会在while循环中放入一个if语句来检查我是否仍为0或更改。如果为0,则打印hi,否则返回0;