为什么加了getchar();还是会一闪而过呢

#include "stdio.h"
#include "conio.h"
int main()
{
int i;
printf("ni jue de ni shi shen me ne?");
scanf("%d",&i);
if(i==1)
printf("wo shi zhou ai li ,wo shi zhu!");
if(i==2)
printf("mei cuo ,wo jiu shi zhu!");
getchar();
}

第1个回答  2011-10-09
这个和输入缓冲区有关,可以在getchar()之前添加fflush(stdin)
原因请参考:
http://hi.baidu.com/playzonebuilder/blog/item/0048565200d0931c0df3e3a1.html本回答被提问者采纳
第2个回答  2011-10-09
为什么不直接写中文呢。
加2个getchar();就好了。

理由是输入时敲了 1 + 回车。
scanf("%d",&i); 只是吃掉了一个 1
getchar() 吃掉了一个回车。
第3个回答  2011-10-09
printf函数中的参量输入有误,编译可以通过但无法正常显示你输入的字符串~应当包含指定输出格式~可以参考一下你书上的例程
第4个回答  2011-10-09
缓存没有清空,
在getchar()前面加上fflush(stdin);
相似回答
大家正在搜