巴里nbsw 2021-12-09 16:26
浏览 55
已结题

为什么我的switch进不去

img

img


#include<string.h>
#include<stdio.h>
_Bool isfake(char c,_Bool light);
char left[3][7];
//={
//{'ABCD'},
//{'ABCI'},
//{'ABIJ'},
//};
char right[3][7];
//={
//{'EFGH'},
//{'EFGK'},
//{'EFGH'},
//};
char result[3][7];
//={
//{'even'},
//{'up'},
//{'even',}
//};

int main(void){
int i=0;
for(i=0;i<3;i++){
scanf("%s %s %s",left[i],right[i],result[i]);
}
char c='A';
for(c='A';c<='L';c++){
if(isfake(c,1)){
printf("%c is the counterfeit coin and it is light",c);
break;
}else if(isfake(c,0)){
printf("%c is the counterfeit coin and it is heavy",c);
break;
}
}
return 0;
}

_Bool isfake(char c,_Bool light){
int ret=0;
int i=0;
char *pleft,*pright,*presult;
for(i=0;i<3;i++){
if(light){
pleft=left[i];
pright=right[i];
presult=result[i];
}
else{
pleft=right[i];
pright=left[i];
presult=result[i];
}
switch(result[i][0]){
case'u':
if(strchr(*pright,c)==NULL){
ret=0;
}
break;
case'd':
if(strchr(*pleft,c)==NULL){
ret=0 ;
}
break;
case'e':
if(strchr(*pleft,c)!=NULL||strchr(*pright,c)!=NULL){
ret=0 ;
}
break;
default:
ret=1;

        }

}
return ret;

}
我调试后觉得貌似这个switch只会进入default.
这是原答案

img

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 12月17日
    • 修改了问题 12月9日
    • 创建了问题 12月9日

    悬赏问题

    • ¥15 51嵌入式入门按键小项目
    • ¥30 海外项目,如何降低Google Map接口费用?
    • ¥15 fluentmeshing
    • ¥15 手机/平板的浏览器里如何实现类似荧光笔的效果
    • ¥15 盘古气象大模型调用(python)
    • ¥15 传人记程序做的plc 485从机程序该如何写
    • ¥15 已知手指抓握过程中掌指关节、手指各关节和指尖每一帧的坐标,用贝塞尔曲线可以拟合手指抓握的运动轨迹吗?
    • ¥50 libwebsockets 如何添加其他socket事件回调
    • ¥50 实现画布拖拽算子排布,通过flink实现算子编排计算,请提供思路
    • ¥15 esium自定义材质拉伸问题
    • ¥50 如何快速查看手机目标app的主要服务器ip