#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;
}
首先,判断是否相等是用 if(a == b),而不是单个等号,单个等号是赋值,在任何情况下都为真,所以不管输入什么结果都不变;
其次,判断不是y或者Y应该写成 if(str8[0]=='y'|| str8[0]=='Y'),如果写成if(str8[0]=='y'||'Y'),意思就变成判断 (str8[0]=='y')或 ‘Y’是否为真,非零常数在任何情况下都为真,所以一样是导致不管输入什么结果都不变;
建议多撸几遍C语言的基础。
if(str8[0] == 'y' || str8[0] =='Y')