C语言中switch()语句的括号内可以是什么型别的呢?
C语言中switch()语句的括号内可以是什么型别的呢?
switch()语句的括号内的表示式必须是整型,它要与case 里的值呼应.
字元型,只有字元常量可以,例如 'a' 'b' '6' '\r'实际上是整型.
布林型 -- 真,假, 实际上是 0, 1 ...整型.
凡表示式值为整型的都可以.
估计 enum 型也可以, 因为它模拟0,1,2,3...
c语言中if后面括号内是什么型别的语句
你确认你问的是语句?花括号里加什么语句都可以啊;如果是圆括号,里面的是表示式,不是语句。
if (表示式) 语句
if (表示式) 语句 else 语句
圆括号中的表示式应该有标量型别。
C99 标准原文:The controlling expression of an if statement shall have scalar type.
语句可以为复合语句,复合语句就是 { ... } 这样的!
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;
}
作为我们一般使用,就记住,只用 整型 算术表示式。
在C语言中switch后面表示式可以是什么型别的
刚才试了一下,我定的是float型别,编译的时候 提示错误,说 switch后的表示式不是整型,那就表明,这个表示式只能是整型和字元型。(因为字元的数字特性,所以也可看做是整型)
c语言中switch语句后一对圆括号表示式型别是什么
switch(表示式)
其中"表示式"指的是ANSI标准中允许的任何型别.说白了,就是只要是你知道的C语言中的型别都可以用!但是一般来说整型和字元型用的多一点,这可能是因为这两种型别比软好理解,而且又更常用的原因.以上回答是来自谭浩强老先生的<C语言设计>绝对全威!
C语言中switch()语句括号内为什么不能用类似x=4的赋值表示式?
虽然 x=4 表示把4赋值给x,但是却不是你说的这样,这个表示式本身的值 不是4,而是逻辑值1,因为除个别特殊情况下表达式 x=4,永远都是成功的,即其表示式的值为真(逻辑值为 1);
switch()语句是用来处理多情形的,括号里的表示式可以是整型或字元型,且有一个确定的值,但是不能是逻辑值
C语言中流程控制switch()括号中都可以是什么资料型别
case后的型别只能是int(或char)或是列举(或“”引起来的字串)。
所以Switch中的型别可以是,int,char,列举,或是引用型别string。
C语言的switch语句中的条件都可以是什么型别?
C语言的switch语句中的条件可以是任意型别,但是由于当是bool型别的时候会出现不可预料的回圈,所以一般不用bool型别
switch(表示式)C语言switch中的“表示式“,ANSI标准允许它为任何型别。 一般的C语言中的型别都可以用,但是整型和字元型用的多一点,ANSI标准已经提及,如果想知道更详细可以查阅相关文件: :download.chinaprj./detail/rOOTDBi 或者 :download.csdn./source/286783