值错误(If..else循环)

Pra*_*sai -1 c if-statement

这可能是一个愚蠢的问题,但我真的不明白这是什么错误.该程序适用于除条件之外的所有条件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)

hac*_*cks 5

赋值运算符=与等于运算符不同==.

else if(card_name[0] == 'A')
{val == 11;}  
      ^remove one =    
Run Code Online (Sandbox Code Playgroud)

=operator将右操作数的值赋给其左操作数,同时==比较右操作数和左操作数的值.