C语言中switch()小括号内可以为哪些内容?
发布网友
发布时间:2022-04-28 21:06
我来回答
共2个回答
热心网友
时间:2022-06-23 05:04
只可以是
整型
算术表达式,
其它都不符合
语法要求。
switch()小括号内
的
结果
用到
case
N:
的
N
来确定转向。
N
是整型,所以
必须要
整型
算术表达式。
字符型的量(不是字符串),可以看作整型量,例如
'A','x',所以可以用。
逻辑表达式,输出的“真”“假”实质上是1和0,用到switch()小括号内,会得到
编译
警告
错误信息,因为
不符合
语法要求,但可以正确运行。
例如:
printf("input
a,b\n");
scanf("%f
%f",&a,&b);
switch
(
a
>
b
){
case
0:
printf("a+b=%f\n",a+b);break;
case
1:
printf("a-b=%f\n",a-b);break;
default:
printf("default\n");
break;
}
switch
(
'x'+
1
){
case
0:
printf("x:
a+b=%f",a+b);break;
case
1:
printf("x:
a-b=%f",a-b);break;
default:
printf("x:
default\n");
break;
}
作为我们一般使用,就记住,只用
整型
算术表达式。
热心网友
时间:2022-06-23 05:05
switch()语句的括号内的表达式必须是整型,它要与case
里的值呼应.
字符型,只有字符常量可以,例如
'a'
'b'
'6'
'\r'实际上是整型.
布尔型
--
真,假,
实际上是
0,
1
...整型.
凡表达式值为整型的都可以.
估计
enum
型也可以,
因为它模拟0,1,2,3...