scanf那里需要需要输入 1,1 类似这样的,你只输入了1
case 1
改为case '1'
你这代码问题多了
1.如果你只想输入一个数,那么scanf里只应该用一个变量来接收数据,而不是写2个,ch2是没有赋值的
2.你输入了A,回车,缓冲区里会有一个换行符,你后面代码接收到一个换行符
所以scanf之前应该先写getchar把多余的换行收掉,或者把你%c,%c之间的逗号去掉,那么换行符自然被ch2获取了
3.你按%c方式接收,收到的是个char,应该判断等于'1'而不是1
switch (表达式)
{
case 情况1:
执行体1;
break;
case 情况2:
执行体2;
break;
default:
执行体3;
}
简单解释一下就是判断表达式的几种情况执行不一样的代码
注意:
case
后的情况不能相同case
都需要有一个break
语句switch
表达式只能是整型或者字符类型重点:switch
语句最大的好处是它能够简化if
语句