win10系统中用Dev C++和Codeblocks的debug功能在输入数据时没显示

C语言 码拜 9年前 (2016-04-25) 1482次浏览
系统win10,输入法QQ拼音
用Dev C++和Codeblocks的debug功能时,运行到scanf()函数输入数据时,黑框里没显示输入的数据,但是系统是接收到数据了的,要运行到后面的步骤才显示出来。问一下是什么原因呢?
win10系统中用Dev C++和Codeblocks的debug功能在输入数据时没显示
↑已经输入数据,但是没显示出来
win10系统中用Dev C++和Codeblocks的debug功能在输入数据时没显示
↑现在才显示刚才输入的数据
debug的时候输入数据是正确显示的,就是debug的时候不显示。Dev C++和Codeblocks都有这个问题。其他没试过。
解决方案

20

在每个最后不带\n的printf后面加fflush(stdout);
在每个不想受接收缓冲区旧内容影响的scanf前面加rewind(stdin);
另外请检查scanf的返回值。

//请今后要用
int c;
scanf("%c",&c);
//时,都改为
char s[2];
int c;
scanf("%1s",s);
c=s[0];

20

fflush(stdin);//Linux下好象不支持。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明win10系统中用Dev C++和Codeblocks的debug功能在输入数据时没显示
喜欢 (0)
[1034331897@qq.com]
分享 (0)