switch case里的一点小问题

来源:百度知道 编辑:UC知道 时间:2024/06/21 11:02:54
我在switch case里为什么不能用scanf或getchar啊?
例如
main(){
int a;
char c;
scanf(“%d”,&a)
switch(a){
case1:scanf(“%c”,&c);……;break;
case2:……
……
}
}
当进入case1时,就会直接跳过scanf语句,直接执行后边的语句,这是为什么谁能告诉我?
我程序里case和1之间有空格,这里没打空格

case 1 : getchar();scanf("%c",&c);break;
因为把回车赋给了字符变量c所以跳过了。这样改就可以了。呵呵

那是按照你的a的值进行选择执行的
跳过的话就是你的a的值不是1喽

case和1之间留出一个空格试试看