求解这段简单的代码
#include<stdio.h>
#include<unistd.h>
#include<sys/types.h>
#include<sys/stat.h>
int main()
{
pid_t fd, fd2;
fd = getpid();
printf("hello:%d",fd);
while(1){}
return 0;
}
为什么无法输出hello,pid直阿,我觉得在陷入死循环前,以及输出了啊
实验平台,linux
[解决办法]
另外,楼主,你的while(1){}将会很销魂。
CPU 100%……
[解决办法]
在每个最后不带\n的printf后面加fflush(stdout);
在每个不想受接收缓冲区旧内容影响的scanf前面加rewind(stdin);
另外请检查scanf的返回值。