若有以下定义:float x; int a,b; 则正确的switch 语句是A) switch(x) B) switch(x){ case 1.0:printf("*\n"); { case 1,2:printf("*\n");case 2:printf("**\n") case 3:printf("**\n");} }C) switch(a+b) D) switch(a-b);{ case 1:printf("*\n") ; { case
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/06 00:24:41
![若有以下定义:float x; int a,b; 则正确的switch 语句是A) switch(x) B) switch(x){ case 1.0:printf(](/uploads/image/z/1652742-54-2.jpg?t=%E8%8B%A5%E6%9C%89%E4%BB%A5%E4%B8%8B%E5%AE%9A%E4%B9%89%3Afloat+x%3B+int+a%2Cb%3B+%E5%88%99%E6%AD%A3%E7%A1%AE%E7%9A%84switch+%E8%AF%AD%E5%8F%A5%E6%98%AFA%29+switch%28x%29+B%29+switch%28x%29%7B+case+1.0%3Aprintf%28%22%2A%5Cn%22%29%3B+%7B+case+1%2C2%3Aprintf%28%22%2A%5Cn%22%29%3Bcase+2%3Aprintf%28%22%2A%2A%5Cn%22%29+case+3%3Aprintf%28%22%2A%2A%5Cn%22%29%3B%7D+%7DC%29+switch%28a%2Bb%29+D%29+switch%28a-b%29%3B%7B+case+1%3Aprintf%28%22%2A%5Cn%22%29+%3B+%7B+case)
若有以下定义:float x; int a,b; 则正确的switch 语句是A) switch(x) B) switch(x){ case 1.0:printf("*\n"); { case 1,2:printf("*\n");case 2:printf("**\n") case 3:printf("**\n");} }C) switch(a+b) D) switch(a-b);{ case 1:printf("*\n") ; { case
若有以下定义:float x; int a,b; 则正确的switch 语句是
A) switch(x) B) switch(x)
{ case 1.0:printf("*\n"); { case 1,2:printf("*\n");
case 2:printf("**\n") case 3:printf("**\n");
} }
C) switch(a+b) D) switch(a-b);
{ case 1:printf("*\n") ; { case 1:printf("*\n");
case 2:printf("**n"); case 2:printf("**\n");
} 重点 解释C为什么是错的
若有以下定义:float x; int a,b; 则正确的switch 语句是A) switch(x) B) switch(x){ case 1.0:printf("*\n"); { case 1,2:printf("*\n");case 2:printf("**\n") case 3:printf("**\n");} }C) switch(a+b) D) switch(a-b);{ case 1:printf("*\n") ; { case
话说只有C是正确的吧
A和B使用了非整形表达式,switch里只能用整形表达式,字符会被转换成整形,case里只能用常数,并且各异
而D的switch后面有个分号 switch(a-b);