【发布时间】:2014-06-08 09:57:03
【问题描述】:
我需要用 C 编写一个简单的程序来进行简单的计算:+,-,*,/
现在,我使用的是 Visual Studio Express 2013,代码如下:
#include <stdio.h>
#include <stdlib.h>
int main(){
double a, b;
double sum = 0;
char o; //operator
printf("Enter operator\n");
scanf_s("%c", &o);
printf("Enter first operand\n");
scanf_s("%f", &a);
printf("Enter second operand\n");
scanf_s("%f", &b);
if (o == '+'){
sum = a + b;
printf("The result is", &sum);
}
if (o == '-'){
sum = a - b;
printf("The result is", sum);
}
if (o == '*'){
sum = a*b;
printf("The result is", sum);
}
if (o == '/'){
if (b == !0){
sum = a / b;
printf("The result is", sum);
}
else printf("Error");
}
getchar();
}
我的输出:输入运算符 + 输入第一个操作数 3.5 输入第二个操作数 5.4
在我输入第二个数字后——程序退出,什么也没有! 没有编译错误,我不知道该怎么做。有人可以帮忙吗?
【问题讨论】:
-
我假设你的意思不是 printf("The result is", &sum); ;-)(&sum 将是答案的地址,而不是答案本身)
-
另外,
if (b == !0)应该是if (b != 0) -
正确,我的意思是 sum 是结果的地址,但它仍然不起作用
标签: c calculator