#include<stdio.h>
#include<math.h>
#include<string.h>
#include<ctype.h>
#include<stdlib.h>
int main(){
char str8[100] = { 0 };
size_t len8;
getchar();
scanf("%[^\n]",str8);
len8 = strlen(str8);
if(str8[0]='y'||'Y')
{
printf("dsfdfsf");
}
else{
printf("wdwqqewqe");
}
return 0;
}
C语言 想判断输入的字符串是不是y或者Y,但是我这样写不管输入什么都会判定为y或Y
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 嵌入式Hayden 2021-12-06 10:18关注
首先,判断是否相等是用 if(a == b),而不是单个等号,单个等号是赋值,在任何情况下都为真,所以不管输入什么结果都不变;
其次,判断不是y或者Y应该写成 if(str8[0]=='y'|| str8[0]=='Y'),如果写成if(str8[0]=='y'||'Y'),意思就变成判断 (str8[0]=='y')或 ‘Y’是否为真,非零常数在任何情况下都为真,所以一样是导致不管输入什么结果都不变;
建议多撸几遍C语言的基础。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 请教一下各位,为什么我这个没有实现模拟点击
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码
- ¥15 ubuntu子系统密码忘记
- ¥15 保护模式-系统加载-段寄存器
- ¥15 电脑桌面设定一个区域禁止鼠标操作