为什么printf不在控制台上打印"操作员"?

Lyr*_*yrk 0 c

Bottom printf()不会在控制台上打印操作员变量.但只有number1number2打印.可能是什么原因?

输出:2 7多少钱?

char operator;

    switch(type){   
        case 1: 
        operator=='+';
        result=number1+number2;
        break;
        case 2: operator=='-';
        result=number1-number2;
        break;
        case 3: operator=='*';
        result=number1*number2;
        break;
        case 4: 
        operator=='/';
        result=number1/number2;
        break;

    }       
    printf("How much is %d %c %d ?",number1, operator, number2);
Run Code Online (Sandbox Code Playgroud)

MOH*_*MED 10

operator=='+';
Run Code Online (Sandbox Code Playgroud)

应该

operator='+';
Run Code Online (Sandbox Code Playgroud)

其他运营商也一样

c中的赋值=仅适用于

平等比较是==例子if(operator == '+')