为什么printf不输出字符串

电脑杂谈  发布时间:2020-03-28 08:07:40  来源:网络整理

printf输出字符数组_printf输出字符串加0_printf输出字符串不加换行符

为什么不printf打印字符串?

在freeBSD环境中,gcc逐步编译\ assembly \链接以下代码


#include <stdio.h>

void main(int argc,char* argv[])
{
    printf("hello world");
    _exit(0);
}

编译/汇编:

gcc-cmain.c

链接

ldmain.o / usr / lib / crt1.o / usr / lib / crti.o-lc-emain

printf输出字符数组_printf输出字符串加0_printf输出字符串不加换行符

运行:

./ a.out

运行没有错误,但是结束却没有输出printf输出字符串不加换行符,为什么? !!!

------解决方案--------------------

删除您的_exit(0);然后重试

------解决方案--------------------

The

printf输出字符串加0_printf输出字符数组_printf输出字符串不加换行符

exit函数具有一些基于_exit函数的包装器. 在终止该过程之前,它还会执行诸如检查文件打开和清除I / O缓冲区之类的操作,例如将文件缓冲区的内容写回到文件中.

#include <stdio.h>

#include <unistd.h>
int main(void)

{

printf("Hello World!\n");//有换行符。

printf("OK");//注意:没有换行符。

_exit(0);//若用它,则不会输出OK。因为缓冲区的'OK"没有换行符,最终没有输出到终端,只输出Hello World,注意是在linux上。

exit(0);//若用它,则会输出OK.

}

房东知道为什么吗?

------解决方案--------------------

printf属于行缓冲机制. 您需要添加换行符作为驱动信号; _exit直接调用系统调用以结束该过程printf输出字符串不加换行符,而无需检查io缓冲区.

------解决方案--------------------

在每个不带\ n的printf之后,添加fflush(stdout);

printf输出字符数组_printf输出字符串不加换行符_printf输出字符串加0

------解决方案--------------------

_exit不执行尾扫,例如flushprintf缓冲区中的字符.

老美怎么看待阿里赴美上市

老梅对阿里进入美国市场有何看法?

要嫁就嫁程序猿—钱多话少死的早

如果要结婚,请与程序猿结婚-金钱比死亡更重要.

不懂技术不要对懂技术的人说这很容易实现

printf输出字符串不加换行符_printf输出字符数组_printf输出字符串加0

不了解技术. 不要告诉知道技术的人. 易于实现.

每天工作4小时的程序员

程序员每天工作4个小时

10个调试和排错的小建议

10条调试和故障排除技巧

10个帮程序员减压放松的网站

10个帮助程序员放松身心的网站

十大编程算法助程序员走上高手之路

十种编程算法帮助程序员成为大师

为什么程序员都是夜猫子

为什么程序员是夜猫子


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-155136-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 苏雪珂
        苏雪珂

        再一个咱们国家的大型舰艇应该继续建造

      热点图片
      拼命载入中...