为什么不执行这个 printf 语句

用户5952594
#include<stdio.h>
#include<sys/wait.h>
#include<unistd.h>
#include<stdlib.h>

int main( int argc, char *argv[] ) {
printf("Hello, to the Simulation world,\n");

int pid = fork();
if(pid < 0) {
    fprintf(stderr,"Oops something went wrong\n");
}else if (pid == 0){
    printf("I'm child, and I do all the work, \n");
    printf("This isn't printed");
    // Any printf statement over here isn't executed \\

    execvp(argv[1], argv);
} else {
    wait(&pid);
    printf("I'm Parent and I do nothing, but I will wait till my child dies.\n");
}
return 0;
}

如果未显示 printf 语句,则 else 下面的任何 printf 语句,

使用的编译器:gcc version 6.3.1 20170306 (GCC)

操作系统:基于Linux,

我的假设:stderr 正在用它自己的数据替换当前行输出,但是每当输入在它自己的行中时printf("This Line is Printed\n"),我就可以看到输出。但是如果我这样写printf("This Line isn't Printed")

或者

它只发生在我身上吗?或者操作系统的一些渲染问题。

我上面程序的输出:

输出

罗马克雷洛克斯

fflush(NULL);之前尝试使用execvp(argv[1], argv);

来自 man fflush :

对于输出流, fflush() 通过流的底层写入函数强制写入给定输出或更新流的所有用户空间缓冲数据。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么printf语句无限执行?

为什么if语句不执行?

为什么不执行语句

这个printf()语句的输出如何计算?

为什么这个循环不运行“if 语句”?

为什么在使用 scanf() 和 printf() 时没有执行 else 语句?

方案 if 语句。为什么这个显示语句不运行?

为什么插入printf语句会使我的函数正常工作?

为什么我的 printf() 语句运行两次?

为什么更新语句不执行?

为什么 Makefile 不执行别名语句

为什么Go语句不并行执行?

我们为什么不写int x = printf(“ text”); 因为printf()语句每次都返回一个整数值?

C 中 printf 语句中的 %# 标志是什么?

为什么 for 循环中的 printf 语句似乎依赖于该循环之外不相关的先前 printf ?

为什么程序不执行main中的打印语句?

为什么不首先执行上面的语句

为什么不执行 onscreenclick() 和 mainloop() 之间的语句?

当我没有在printf语句中添加`\ n`时,为什么输出中会有`%`?

为什么我的 searchPuzzle 函数中的 printf() 语句不起作用?

当我注释掉printf语句时,为什么会出现细分错误

为什么PHP在不执行echo语句的情况下执行标头语句

如何动态制作printf语句?

为什么赢得if语句执行?

为什么这个 select 语句这么慢?

为什么这个 if 语句总是返回 true?

为什么这个 if 语句是真的?不同的地址

为什么这个语句无法访问?

为什么我的if语句不执行其打印语句Python 2.7.11