c - 为什么下面的程序没有生成任何可见的输出?

标签 c printf

以下 C 程序不会在屏幕上打印任何内容。

我用gcc编译程序:

#include<stdio.h>

main()
{
    printf("hai");
    for(;;);
}

最佳答案

很可能,stdout 是行缓冲的。你的程序不调用 fflush或发送一个换行符,这样缓冲区就不会被写出。

#include <stdio.h>

int main(void) {
    printf("hai\n");
    for(;;)
    ;
    return 0;
}

另见 question 12.4What's the correct declaration of main()?C FAQ .

关于c - 为什么下面的程序没有生成任何可见的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1260213/

相关文章:

sql - 如何在 DB2 SQL 中打印出 SQLHSTMT 变量的值?

c - fprintf 在由另一个应用程序运行时不工作

c - 为什么 printf 在调用后不会刷新,除非格式字符串中有换行符?

go - 在 Golang 中构建动态(条件)WHERE SQL 查询

c - 在不干扰 c 程序执行的情况下获取输入

C 链表 : Access violation reading location 0x00000001

c - 内存在二维数组中的位置?

c - 声明将在 pthread_create 中使用的函数——令人困惑的语法错误

图例中同一行的两种不同颜色的Matlab

c - 替代密码打印表