这可能是一个愚蠢的问题,但我真的不明白这是什么错误.该程序适用于除条件之外的所有条件A.
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
char card_name[3];
puts("Enter the card name: ");
scanf("%2s",card_name);
int val = 0;
//printf("%s",card_name);
if(card_name[0] == 'K') {
val = 10;
}
else if (card_name[0] == 'Q') {
val = 10;
}
else if (card_name[0] == 'J') {
val = 10;
}
else if (card_name[0] == 'A') {
val == 11;
}
else {
val = atoi(card_name);
}
printf("The card value is %d",val);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
除A外,所有输出都是正确的.
Enter the card name: A
The card value is 0
Run Code Online (Sandbox Code Playgroud)
赋值运算符=与等于运算符不同==.
else if(card_name[0] == 'A')
{val == 11;}
^remove one =
Run Code Online (Sandbox Code Playgroud)
=operator将右操作数的值赋给其左操作数,同时==比较右操作数和左操作数的值.