简单的while问题(为什么一个循环a=a+1执行2次)
本帖最后由 风之残月 于 2014-11-9 22:40 编辑#include<stdio.h>
#include<conio.h>
void main()
{
int a;
a=0;
char s=0;
while(s!='0')
{
a=a+1; //为什么一个循环a=a+1执行2次
printf("a=%d\n",a);
scanf("%c",&s);
switch(s)
{ case '1':
printf("有点烦\n ");
break;
case '2':
printf("无聊\n");
break;
}
}
}
你在scanf()语句上面加上一行fflush(stdin);就OK了。fflush(stdin);这行代码的意思是清空缓冲区数据。 缓存未清空 scanf("%c",&s);
getchar();// 用这个函数吃掉 回车 就可以了
你应该是在学C语言吧 你的后缀是不是写成了CPP ?
int a;
a=0;
char s=0;
C语言赋值应在定义后面 或定义时赋值你这样写会报错的 爆破2014 发表于 2014-8-30 01:14
scanf("%c",&s);
getchar();// 用这个函数吃掉 回车 就可以了
谢谢提醒,我现在才开始用vc++,很多地方也是不懂 来看看了
页:
[1]