首页 养生问答 疾病百科 养生资讯 女性养生 男性养生

为什么c语言的switch语句中的case后面不能加英文字母?

发布网友 发布时间:2022-04-26 13:41

我来回答

4个回答

热心网友 时间:2022-06-28 17:31

#include<stdio.h>
int main(){
 char a;
 scanf("%c",&a);
 switch(a){
 case 'a':printf("输出数据 %c ",a);break;
  case 'b':printf("输出数据 %c ",a);break;
   case 'c':printf("输出数据 %c ",a);break;
   default:putchar('\a');
    }
 return 0;}

这是我试过的,可以啊!

你可以复制我的试试看!

看看是不是软件问题吧!

热心网友 时间:2022-06-28 17:31

case 后面必须是整数 或者 ASCII 码表里面的字符。
字母可以写成 case 'A': case 'a': 这样。

热心网友 时间:2022-06-28 17:32

default
拼写错误
你的while(1)是个无限循环语句,当执行到switch后,如果没有满足case的情况,根本不会执行到default语句,也就是switch不起作用了,b未赋任何值,也就不会输出任何字符,再次循环到程序的起始位置,执行再输入;如果满足case情况,仍可以输出。

热心网友 时间:2022-06-28 17:33

java的switch中case的标号只能是int及范围小于int的整数,java7中String也可以。
c的switch中case的标号只能是整数,但是不*是什么整数。
这些都行:size_t、char、int、int32_t、long、unsigned long long…

%d什么的那是scanf和printf的格式符号,跟switch没关系

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com