gpt4 book ai didi

c - 为什么这个 C 程序可以运行?

转载 作者:行者123 更新时间:2023-11-30 18:16:12 25 4
gpt4 key购买 nike

当我执行以下代码时

#include<stdio.h>
#include<unistd.h>

int main(void)
{
int i;
for(i=0;i<=100;i++)
{
printf("Percentage complete: %d %%",i);
sleep(1);
}
printf("\n");
}

但是,当我执行以下代码时,代码不起作用,

#include<stdio.h>
#include<unistd.h>

int main(void)
{
int i;
for(i=0;i<=100;i++)
{
printf("\nPercentage complete: %d %%",i); //There is a newline here
sleep(1);
}
printf("\n");
}

代码似乎可以工作。我不知道为什么。

最佳答案

当你说它不“工作”时,我假设你的意思是你每秒都没有看到新的输出行。

这是因为终端通常是行缓冲的,这意味着它们在收到整行之前不会执行显示传入文本的工作。

您可以通过“刷新”输出流来解决此问题,强制终端显示它:

fflush(stdout);

此外,您的代码在 main() 末尾缺少 return 语句。

关于c - 为什么这个 C 程序可以运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14320993/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com