首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

遇到一个小疑点求

2012-06-12 
遇到一个小问题求高手指点#includestdio.hvoid main(){int s,z,y,t,dchar cprintf(欢迎您使用数蛤蟆

遇到一个小问题求高手指点
#include"stdio.h"
void main()
{
int s,z,y,t,d;
char c;
printf("欢迎您使用数蛤蟆辅助器,按任意键继续数。要结束程序请直接关闭窗口。\n");
for(s=1;s<=9999;s++)
{
printf("%d只蛤蟆",s); 
z=s;
printf("%d张嘴",z);
y=s*2;
printf("%d只眼睛",y);
t=s*4;
printf("%d条腿\n",t);
c=getch(); \*之前这里用的是 scanf("%d",&d);输入数字很正常我知道是因为d定义为整形变量的原因。可是输入字符的话程序会一下输出所有的结果也就是一次性数到9999只蛤蟆这是为什么呢怎么也想不明白求高手指点*\
}

 

[解决办法]
scanf("%d",&d")
如果你输入数字,这个函数会吃掉I/O缓冲区的所有数字,故没有问题。
如果你输入非数字字符,这个函数不会吃掉I/O缓冲区字符,下次执行scanf的时候,不需等待你输入字符,直接从缓冲区的取字符,依次类推,故不等你再次输入,就显示到9999了。

热点排行
Bad Request.