我正在尝试编写一个简单的C计算器脚本,只使用基本的+, - ,/,*。我有以下内容,但我不确定为什么它打印不正确。
#include<stdio.h>
#include<stdlib.h>
int main (void)
{
//introduce vars
double number1, number2, result;
char symbol; //the operator *, -, +, /
//allow user interaction
printf("Enter your formula \n");
scanf("%f %c %f", &number1, &symbol, &number2);
switch (symbol) {
case '+':
result = number1 + number2;
break;
default:
printf("something else happened i am not aware of");
break;
}
getchar();
return 0;
}
为什么结果不打印?我在这里做错了吗,
result = number1 + number2;
答案 0 :(得分:17)
您永远不会打印结果......
您需要添加以下内容:
printf("Result: %f", result);
答案 1 :(得分:6)
“为什么结果没有打印?”
您可以正确计算答案,但不要将其打印在任何地方。
你需要有类似的东西:
printf("Answer: %f + %f = %f\n", number1, number2, result);
如果没有打印声明,则不会打印任何内容。
编辑回复评论:
你在之后做了printf 计算结果吗? 就个人而言,我会将printf放在getchar();
之前要获得更多调试,请在scanf之后写一下:
printf("Input as received: number1 is %f\n number2 is %f\nsymbol is %c\n", number1, number2, symbol);
如果没有显示您输入的输入,则收集输入的方式有问题。
答案 2 :(得分:0)
/* I think I see the problem; you're trying to reinvent the wheel. */
#include <stdio.h>
#include <stdlib.h>
int main (void)
{
system("/bin/bc");
return 0;
}