VC中scanf语句使用疑难问题! 请大家帮忙解答!

来源:百度知道 编辑:UC知道 时间:2024/06/04 12:29:28
我下载安装了VC 6.0 已经加入SP6补丁,我的系统是win xp sp2,我在VC内写入以下代码,却无法正确执行,只执行前三个输入,后两次不运行,请教大家,这是什么原因?

#include <stido.h>
void main()
{
char a,b,c,d,e;

scanf("%c",&a);
scanf("%c",&b);
scanf("%c",&c);
scanf("%c",&d);
scanf("%c",&e);

printf("%c%c%c%c%c",a,b,c,d,e);
}

执行结果却是 输入三个字母后自动输出这前三个字母了,为什么第四个和第五个scanf语句不执行?

因为您在输入a并按回车键的时候,您的“回车”和“换行”两个字符被保存了

#include <stdio.h>
void main()
{
char a,b,c,d,e;

scanf("%c",&a);
fflush(stdin);
scanf("%c",&b);
fflush(stdin);
scanf("%c",&c);
fflush(stdin);
scanf("%c",&d);
fflush(stdin);
scanf("%c",&e);

printf("%c%c%c%c%c",a,b,c,d,e);

}
你的头文件错了,还有就是你得加fflush(stdin);语句才行。