我先写了一个printf(“XXXXX”);在写了一个scanf(“%d”,&a),运行之后不会打印出printf的内容,只有当我输入一个值之后才打印出printf的内容,请问这是怎么回事?但在vs2015和linux系统下显示就正确,gcc版本为5.3.0。
缓冲区的问题,print可能滞留在缓冲区了,语句后加上fflush(stdout)
贴出你的完整代码才知道。以及你是怎么运行的程序。
是不是有什么地方阻塞了,具体要看你的编译选项等。
可能是缓冲区的问题,你在程序开始的地方写上setbuf(stdout,NULL),或者printf("xxxxxx\n").因为默认是是行缓冲。
这是因为缓冲的问题、你可以在printf(“…/n")或者加一个fflush(stdout)或者调用处理缓冲区的退出exit 0。
不要用stdout,直接用stderr试试