读书人

请问关于scanf的有关问题

发布时间: 2012-04-01 17:23:46 作者: rapoo

请教关于scanf的问题
#include <stdio.h>

void main(void)
{
char string[10];
scanf("%s", string);//第5句
printf("%s", string);第六句
}
linux gcc编译,
./a.out执行,然后奇怪了输入字符afks,回车,没反应,再输入字符串ert回车,现在才把前面的afks输出来,在第5和第6句之间加一句fflush(stdin);还是不行,我觉得应该,输入字符afks,回车马上就把afks输出来
请问这是什么原因,在VC下好像不会

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

读书人网 >C语言

热点推荐