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++;
}
}
答案 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)
如果我要这样做,我会在while循环中放入一个if语句来检查我是否仍为0或更改。如果为0,则打印hi,否则返回0;