我的代码使用了一个switch语句,但是运行时只显示default的输出,麻烦帮忙解答一下,十分感谢
#include
int main()
{
char ch;
printf("请输入一个字符:");
scanf("%c",&ch);
printf("%d\n",ch);
switch(ch)
{
case 'ch>=80&&ch<=89':printf("该字符为数字");
break;
case 'ch>=65&&ch<=90':printf("该字符为大写字母");
break;
case 'ch>=97&&ch<=122':printf("该字符为小写字母");
break;
case 'ch=32':printf("该字符为空格");
break;
default: printf("其他字符\n");
}
return 0;
}
```
参考如下:
#include <stdio.h>
int main()
{
char ch;
printf("请输入一个字符:");
scanf("%c",&ch);
printf("%c\n",ch);
switch(ch)
{
case '0' ... '9':printf("该字符为数字");
break;
case 'A' ... 'Z':printf("该字符为大写字母");
break;
case 'a' ... 'z':printf("该字符为小写字母");
break;
case ' ':printf("该字符为空格");
break;
default: printf("其他字符\n");
}
return 0;
}
如有帮助,欢迎点赞+采纳哈!
这么改,供参考:
#include <stdio.h>
int main()
{
char ch;
printf("请输入一个字符:");
scanf("%c", &ch);
printf("%c\n", ch);
switch (1*(ch >= 48 && ch <= 57 )+
2*(ch >= 65 && ch <= 90 )+
3*(ch >= 97 && ch <= 122)+
4*(ch == 32))
{
case 1:printf("该字符为数字");
break;
case 2:printf("该字符为大写字母");
break;
case 3:printf("该字符为小写字母");
break;
case 4:printf("该字符为空格");
break;
default: printf("其他字符\n");
}
return 0;
}
不知道你这个问题是否已经解决, 如果还没有解决的话: