一般情况下,switch后面的括号内只能加整型,即不能加浮点型,字符串。加浮点型和字符串都会编译错误。
这次主要是说明如果是加字符的话是怎么运行的,和switch后面括号内加的是两个数的结果是什么
①先上代码
#include <stdio.h>
int main (void){
char ch;
printf ("enter a value btw 1 to 2:");
scanf ("%c",&ch);
switch (ch){
case 1:printf ("1\n");
break;
case 2:printf ("2\n");
break;
case 3:printf ("3\n");
break;
case 4:printf ("2\n");
break;
case 48:printf ("hh\n");
break;
case 42:printf ("2\n");
break;
}
return 0;
}
如果直接定义字符型,那么输入0的话会输出“hh”(因为0的ascii码为48)
②如果switch后面括号内加的是两个数如下:
(ch,ch+1),则最终是以最后一个为准,即如果按上面代码来运行,输入0则输出1,输入1则输出2,以此类推。
以上内容为个人观点,如有意见欢迎交流