switch语句括号,switch语句括号中的条件
C语言中switch()语句的括号内可以是什么类型的呢?
switch()语句的括号内的表达式必须是整型,它要与case
里的值呼应.
字符型,只有字符常量可以,例如
'a'
'b'
'6'
'\r'实际上是整型.
布尔型
--
真,假,
实际上是
0,
1
...整型.
凡表达式值为整型的都可以.
估计
enum
型也可以,
因为它模拟0,1,2,3...
C语言中switch()小括号内可以为哪些内容?
只可以是
整型
算术表达式,
其它都不符合
语法要求。
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;
}
作为我们一般使用,就记住,只用
整型
算术表达式。
switch语句后括号里的表达式是什么类型
一般格式:
switch
(表达式)
{
case
常量标号1:语句序列1;
break;
case
常量标号2:语句序列2;
break;
…
case
常量标号n:语句序列n;
break;
default:
语句S;
}
其中:
①表达式:可以控制程序的执行过程,表达式的结果必须是整数、字符或...