永发信息网

c程序中switch case警告:case label value exceeds maximum value for type

答案:3  悬赏:0  手机版
解决时间 2021-11-29 01:44
  • 提问者网友:呐年旧曙光
  • 2021-11-28 09:32
c程序中switch case警告:case label value exceeds maximum value for type
最佳答案
  • 五星知识达人网友:走死在岁月里
  • 2021-11-28 10:03
因为char的值范围在-128 到127之间,0x80超过了这个范围,所以无论如何不会命中这个case
全部回答
  • 1楼网友:封刀令
  • 2021-11-28 12:10
它说超出最大值。
警告 表明程序有错,为什么是 “超出最大值” 错,不好解释,这是编译器的理解。你只需改正错误便可。
case 0x80: 冒号后面 你没写语句,也没有分号。
pResult是一个char型指针, 你是怎样声明的,给了什么值? 程序写对了就好了。
程序例子:
#include
int main(){
char *pResult="abcd";
switch( *(pResult+2)){
case 0x80: printf("0x80");break;
default: printf("abcd");
}
return 0;
}
  • 2楼网友:醉吻情书
  • 2021-11-28 10:38
定义为unsigned就可以了,意思是0x80超过了char类型的范围。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯