C 语言IF ELSE IF 问题求解释
#include<stdio.h>void f(char w,char r,char t, char y)
{
if(w=='A'&&r=='A'&&t=='A'&&y=='A')
printf("总分是40\n");
else if(w=='A'&&r=='A'&&t=='A'&&y=='B')
printf("总分是30\n");
else if(w=='A'&&r=='A'&&t=='B'&&y=='A')
printf("总分是30\n");
else if(w=='A'&&r=='B'&&t=='A'&&y=='A')
printf("总分是30\n");
else if(w=='B'&&r=='A'&&t=='A'&&y=='A')
printf("总分是30\n");
else if(w=='A'&&r=='A'&&t=='B'&&y=='B')
printf("总分是20\n");
else if(w=='B'&&r=='B'&&t=='A'&&y=='A')
printf("总分是20\n");
else if(w=='A'&&r=='B'&&t=='B'&&y=='A')
printf("总分是20\n");
else if(w=='B'&&r=='A'&&t=='A'&&y=='B')
printf("总分是20\n");
else if(w=='A'&&r=='A'&&t=='A'&&y=='B')
printf("总分是10\n");
else if(w=='A'&&r=='A'&&t=='B'&&y=='A')
printf("总分是10\n");
else if(w=='A'&&r=='B'&&t=='A'&&y=='A')
printf("总分是10\n");
else if(w=='B'&&r=='A'&&t=='A'&&y=='A')
printf("总分是10\n");
else
printf("总分是0\n");
}
int main()
{
char t,u[9];
int i,j;
printf("input name:");
scanf("%s",&u);
//gets(u);
while(t=getchar()=='\n')
printf("input class:");
puts(u);
printf("\t\tplease challenge\n");
char a,b,c,d;
printf("\t\t1.秦国的皇帝是谁\n");
printf("\t\tA赢政B胡锦涛\n");
printf("\t\t2.晋文公是哪位\n");
printf("\t\tA重耳B介子推\n");
printf("\t\t3.1769年,谁出世\n");
printf("\t\tA拿破仑B凯撒\n");
printf("\t\t4.拿破仑在哪兵\n");
printf("\t\tA莱比锡B巴黎\n");
printf("\t\t请选择正确答案:\n");
scanf("%c %c %c %c",&a,&b,&c,&d);
f(a,b,c,d);
for(i=0;i<17;i++)
printf("*");
printf("\n");
printf("正确答案A A A A\n");
for(i=0;i<17;i++)
printf("*");
printf("\n");
return 0;
}
为什么输入四个英语字母,用函数发送后,经IF ELSE IF语句,无论四个字母是否符合IF括号中的条件,总是显示“总分是0”,也就是说总执行最后的ELSE后面的语,其余IF ELSE IF语句不能执行