底部printf()
不会在控制台上打印操作员变量。但只会打印number1
和number2
。可能是什么原因?
输出: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);
答案 0 :(得分:10)
operator=='+';
应该是
operator='+';
其他运营商也是如此
c中的分配只有=
平等比较是==
示例if(operator == '+')
答案 1 :(得分:3)
==
是相等运算符,它不会指定一个值,只检查双方是否相等。
您必须使用赋值运算符=
。
例如:
operator='/'
答案 2 :(得分:3)
您使用比较运算符=
,而不是使用赋值运算符==
。
因此operator=='+'
之后operator
的值保持不变。