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

时间:2013-04-21 13:56:46

标签: c

底部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);

3 个答案:

答案 0 :(得分:10)

operator=='+';

应该是

operator='+';

其他运营商也是如此

c中的分配只有=

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

答案 1 :(得分:3)

==是相等运算符,它不会指定一个值,只检查双方是否相等。

您必须使用赋值运算符=

例如:

operator='/'

答案 2 :(得分:3)

您使用比较运算符=,而不是使用赋值运算符==

因此operator=='+'之后operator的值保持不变。