gpt4 book ai didi

c - 打印语句在无限循环之前不会打印

转载 作者:太空宇宙 更新时间:2023-11-03 23:31:49 25 4
gpt4 key购买 nike

在尝试调试一些 C 代码时,我注意到如果将 printf() 放在无限循环之前,则不会执行。有人知道为什么吗?实际上这没什么大不了的,但对于调试来说却是一场噩梦。

#include<stdio.h>

int main()
{
int data;

printf("This prints fine.\n");

printf("Enter data: ");
scanf("%d", &data);

printf("This should print but it doesn't.\n");

while(1)
{
//Infinite Loop
}

return 0;
}

最佳答案

调用 printf() 时,程序终止或遇到换行符后显示输出。但是由于您在 printf() 之后调用无限循环,程序不会终止并且不会显示缓冲区的输出。

使用fflush(stdout) 强制显示缓冲区的输出

标准输出标准输出流是应用程序输出的默认目的地。在大多数系统中,它通常默认定向到文本控制台(通常在屏幕上)。

fflush()函数导致系统清空缓冲区

关于c - 打印语句在无限循环之前不会打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13667625/

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