if-else语句为什么会同时执行
一个简单的题目:从键盘输入6位仅由数字0~9组成的密码。用户每输入一个密码并按回车键后,程序给出判断:如果是数字,则原样输出该数字,并提示用户目前已经输入了几位密码,同时继续输入下一位密码;否则,程序提示"error",并让用户继续输入下一位密码。直到用户输入的密码全部是数字为止。为什么用这个程序做这道题if和else语句会同时执行?#include<stdio.h>
int main()
{
char a;
int counter=0;
printf("Please input a:\n");
do
{
scanf("%c",&a);
if(a>='0'&&a<='9')
{
counter++;
printf("%c,you have inputed %d bits number\n",a,counter);
}
else
{
printf("error!\n");
}
}while(counter<=6);
return 0;
}
下面是运行结果: