这是我编写的一个简单过程,目的是try 解决我在使用其他代码时遇到的问题.谁能告诉我为什么If语句默认为True?我读到一些关于scanf需要在变量前加空格的内容,但我做到了.
#include <stdio.h>
#include <stdlib.h>
int main(){
char answer;
printf("Y or N ");
scanf(" %c", &answer);
if(answer == 'Y' || 'y'){
printf("you said yes \n");
}
else if (answer == 'N' || 'n'){
printf("you said no \n");
}
else {
printf("sorry, fail \n");
}
return 0;
}
不管我输入的是N还是n,或者其他任何字符,甚至是数字,它都会吐出"你说好的".