就因为一个变量定义为int型,char型,结果出现偏差
#include "stdio.h"void main()
{int flag=1;
int c;
while(flag)
{
scanf("%d",&c);
switch(c)
{
case 1:printf("请输入:\n");break;
case 2:printf("请输入查找学生学号:\n");break;
case 3:printf("正在输出:\n");break;
case 0:{printf("谢谢使用\n");flag=0;break;}
default:printf("输入错误,请重新输入\n");break;
}
}
}
下面我把变量c改为char型;
#include "stdio.h"
void main()
{int flag=1;
char c;
while(flag)
{
scanf("%c",&c);
switch(c)
{
case '1':printf("请输入:\n");break;
case '2':printf("请输入查找学生学号:\n");break;
case '3':printf("正在输出:\n");break;
case '0':{printf("谢谢使用\n");flag=0;break;}
default:printf("输入错误,请重新输入\n");break;
}
}
}
为什么c为char型时,输入1~3,default后面语句总能输出????