简单小代码,一直无法按预期运行

scanf输入一个字母并根据此字母运行不同if语句,但一直输出第一个if结果

#include<stdio.h>
int main()
{
    int e;
    printf("请输入a,b,c,d之一:");
    scanf("%c",&e);
    if(e='a')
    printf("123");
    else if(e='b')
    printf("456");
    else if(e='c')
    printf("789");
    else
    printf("101112"); 
    return 0;
 } 

你应该定义字符型的变量e,另外判断少了等号,给你改好了

#include<stdio.h>
int main()
{
    char e;
    printf("请输入a,b,c,d之一:");
    scanf("%c",&e);
    if(e=='a')
    printf("123");
    else if(e=='b')
    printf("456");
    else if(e=='c')
    printf("789");
    else
    printf("101112");
    return 0;
 }

img

e是字符类型应该声明 char e;

一个=号是赋值操作。两个==才是比较相等

#include<stdio.h>
int main()
{
    char e;
    printf("请输入a,b,c,d之一:");
    scanf("%c",&e);
    if(e=='a')
    printf("123");
    else if(e=='b')
    printf("456");
    else if(e=='c')
    printf("789");
    else
    printf("101112");
    return 0;
 }

img

如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮