C语言编程:输入两个操作数和一个运算符,编程实现简单的计算器用if语句,为啥结果不对

#include<stdio.h>
void main()
{
float a,b,c;
char x;
printf("输入两个数和一个运算符号:\n");
scanf("%lf%lf%c",&a,&b,&c);
if(x='+')
c=a+b;
if(x='-')
c=a-b;
if(x='*')
c=a*b;
if(x='/')
c=a/b;
printf("结果是:%lf\n",c);

}

运算符号没有输入 在第一句if语句前添加一行代码:scanf("%d",x);
建议使用switch语句,代码为:
以下为代码主体:(省略部分为你想输出的东西)

char math;
char m = 1, p = 2, l = 3, t = 4;
int a, b, c;
cin >> math; //这里输入1 2 3 4对应+,-,*,/

switch(math)
{
case '1':
c = a + b;
.........
break;
case '2' :
c = a - b;
.........
break;
case '3'.
....
default:
printf(......)
return 0;
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-26
scanf中&c是不是应该改成&x啊本回答被网友采纳