我知道这可能是一个非常愚蠢的错误,但我刚开始学习C.我想做一个基本的计算器,并且不断收到有关程序的错误,期望得到一个const char *但我有一个浮动。另外它说最后一个printf命令(我相信第50行)没有正确的语法或正确的格式。再一次,我真的很新,所以很抱歉不满。感谢您的帮助!我的代码如下。我在C程序中遇到了一些错误。请帮助我,无论我做什么错
#include <stdio.h>
#include <math.h>
int main()
{
char firstnum, secondnum, answer;
char function;
printf("Hello and welcome to my calculator!");
printf("Please input the function you would like to use");
scanf("%c", &function);
printf("Now please input the two variables.");
scanf("%f", &firstnum);
scanf("%f", &secondnum);
if (function == '+')
{
answer = firstnum+secondnum;
}
else if (function == '-')
{
answer = firstnum-secondnum;
}
else if (function == '*')
{
answer = firstnum*secondnum;
}
else if (function == '/')
{
answer = firstnum/secondnum;
}
else
{
printf("Sorry that was an incorrect function. The correct inputs are +, -, *, /.");
}
printf(answer);
return 0;
}
'answer'需要是'float'或'double',而不是'char'。您正在存储已分配的值,并且'char'只能保存整数值。 'firstnum'和'secondnum'也是一样的。就目前而言,“chars”只能保存值-127-127。如果你想对大于127的数字进行计算,你应该将它们改为“float”或“double”。 – shanet 2013-02-20 05:31:10
@shanet ,你说的不是使用'char'是正确的,但是请不要传播关于范围的神话,根据实现情况,'char'可以比这更多。 – paxdiablo 2013-02-20 05:35:28
最好发布你正在得到的确切错误,而不是让我们通过编译器运行你的代码。这个问题对于经验丰富的程序员来说相当明显,但其他错误可能并不明显。 – shanet 2013-02-20 05:36:20