岳麓丹枫001 2015-11-17 04:36 采纳率: 0%
浏览 1381
已结题

exec()函数族疑问,输出不是预料的结果

有两个C源代码文件test.c和file.c

test.c代码如下:
#include
#include
#include
int main(int argc, char argv[])
{
if(0==fork())
{
printf("a");
execlp("./file",(char
)NULL);
}
else
{ wait(NULL);
printf("b);
}

return 0;

}

file.c代码如下:
#include

int main(void)
{
printf("c");
return 0;
}

我先gcc file.c -o file
然后gcc test.c -o test
输出bc
但是将test.c中的printf("a");改为printf("a\n");之后就输出abc;
我的疑问就在于:为什么加了\n之后,就能输出a,而没有加\n就不能输出a
???实在不解!!!

  • 写回答

5条回答 默认 最新

  • javalaiba 2015-11-17 04:47
    关注

    因为你没加/n的时候输出的a被b覆盖了

    评论

报告相同问题?

悬赏问题

  • ¥15 Coze智能助手搭建过程中的问题请教
  • ¥15 12864只亮屏 不显示汉字
  • ¥20 三极管1000倍放大电路
  • ¥15 vscode报错如何解决
  • ¥15 前端vue CryptoJS Aes CBC加密后端java解密
  • ¥15 python随机森林对两个excel表格读取,shap报错
  • ¥15 基于STM32心率血氧监测(OLED显示)相关代码运行成功后烧录成功OLED显示屏不显示的原因是什么
  • ¥100 X轴为分离变量(因子变量),如何控制X轴每个分类变量的长度。
  • ¥30 求给定范围的全体素数p的(p-2)/p的连乘积值
  • ¥15 VFP如何使用阿里TTS实现文字转语音?