这个编译器会报错,因为字符串类型不能自动转换为整型。 修改方法:去掉单引号或双引号,直接用整型常量。 3. case与常量之间缺空格 编译器也不会报错,程序能运行,但执行结果错。 为什么编译不出错,这个有点诡异。其实,编译不出错是因为编译器把“case1:”这种写法理解成了...
整型常量有多种,比如int、char、enum枚举常量,在C++中bool类型也属于整型常量的一种。一般switch语句使用此种格式switch(表达式){case 常量表达式1:语句1;...case 常量表达式2:语句2;default:语句;} switch是一个整型表达式。case是一个整数常量表达式。只所以不能使用浮点数,个人理解应该是浮点数的精...
分析:switch表达式必须是整型(或字符型),例如“switch (“a”)”中表达式为字符串,这是非法的 error C2051: case expression not constant 中文对照:(编译错误)case表达式不是常量 分析:case表达式应为常量表达式,例如“case “a””中“”a””为字符串,这是非法的 error C2052: ‘type’ : illegal typ...
C语言的switch case 语句的case不能匹配字符串常量,只能匹配整型类常量,如int short long char.switch用法格式:switch ( 表达式){ case 常量表达式1:语句1;[break;] 中括号,表示此语句可以没有 case 常量表达式2:语句2;[break;]……case 常量表达式n:语句n;[break;][default:]语句n+1;[...
ASCII码表中字符:Space-32A-65a-97小写->大写:-32字符串常量双引号括起来的零个或多个字符序列,后面有系统添加的\0字符串常量的实际字符数总是比其双引号中的字符数多1 符号常量用#define宏定义的东西变量scanf用法%5d:限制阈宽为5注意:scanf没有%5.2d这种用法 ...
关于C语言中的switch语句变量类型的问题 switch的变量必须是整数。char, int, short, long等等。float不行。 可以对常量switch。 括号里面的标签可以任意写。把default拼写错也没关系。 case之后必须是常量。switch有个特殊用途,例如,做加减法运算,对于减法可以将减数先求相反数,然后再进行加法...
中文对照:(编译错误)case 表达式不是常量 解决方案:case 表达式应为常量表达式,例如“case"a"”中“"a"”为字符串,这是非法的 error C2052: 'type' : illegal type for case expression 中文对照:(编译错误)case 表达式类型非法 解决方案:case 表达式必须是一个整型常量(包括字符型) ...
不可以匹配字符串长量的.最大可以匹配一个int型的变量或常量.switch 里面一般是填变量名.大概是这样 int a;switch(a){ case 1: break;case 2:break;default: break;}
3,4 输入数据时,在两个数据之间以一个或多个空格间隔,也可用回车键,跳格键tab。②scanf(“%d,%d”,&a,&b); C规定:如果在“格式控制”字符串中除了格式说明以外还有其它字符,则在输入数据时应输入与这些字符相同的字符。下面输入是合法的:3,4 此时不用逗号而用空格或其它字符是不对的。
选B,case后面只能是整型或字符型的常量或常量表达式。一、switch是另外一种选择结构的语句,用来代替简单的、拥有多个分支的if else 语句,基本格式如下:switch(表达式){case 整型数值1: 语句 1;case 整型数值2: 语句 2;...case 整型数值n: 语句 n;default: 语句 n+1;} 二、它的执行过程是:...