将函数结果保存到C中的变量
我的任务是做一个简单的计算器。但其中一个练习是将除法的值除以另一个数。我为此创建了函数,我需要的帮助是,如何获取函数返回的值并再次使用它。我应该使用指针还是将其存储在数组中?泰 到目前为止,我得到的是:将函数结果保存到C中的变量,c,function,calculator,C,Function,Calculator,我的任务是做一个简单的计算器。但其中一个练习是将除法的值除以另一个数。我为此创建了函数,我需要的帮助是,如何获取函数返回的值并再次使用它。我应该使用指针还是将其存储在数组中?泰 到目前为止,我得到的是: int op; int x, y, z; printf("\n4.Divisão '/'\n\n"); scanf("%d", &op); //Asks the user for the values printf("x:"); scanf("%d", &x);
int op;
int x, y, z;
printf("\n4.Divisão '/'\n\n");
scanf("%d", &op);
//Asks the user for the values
printf("x:");
scanf("%d", &x);
printf("y:");
scanf("%d", &y);
printf("\nDivisão: %d / %d = %.1f", x, y, divide (x, y)); //Basic division
printf("Outro valor:"); //Asks for another variable
scanf ("%d", &z); //Reads the variable
/*printf("\nDivisão 2 : %.1f / %d = %.1f", div, z, divide (div, z));*/
//Tried to use function variable, don't mind this
//Should it be a recursive function?
double divide (int a, int b)
{
float div;
div = a / b;
return div;
}
您可以使用
=
将值分配给变量,与分配硬编码值相同
double value = divide (x, y);
您可以将函数返回的值存储在另一个变量中 简单地写双div=divide(x,y) 现在获取另一个输入z并再次调用divide函数
希望这能解决您的问题如果您必须使用该函数,则
double result=divide(3,4)代码>。但是,所示代码的返回值将为0(对于参数3和4)。除法是整数除法;结果(3/4为0)转换为double
,然后返回。在除法之前将一个或两个参数强制转换为double
,或者将函数签名更改为使用double
参数而不是int
参数来修复此问题。No可能重复,这不是问题所在。函数的工作方式与我的相同want@JonathanLeffler我只需要取第一个除法的函数的结果,并将其用作同一个函数的变量,我不知道你所说的“将[除法的结果]用作同一个函数的变量”是什么意思。但是,没有什么可以阻止您编写:double x=divide(divide(p,q),divide(r,divide(t,u))代码>如果您已经正确定义和初始化了变量,并且没有一个除法返回0。我知道您的意思,但是函数的工作方式现在是我想要的。问题是,应该是用户输入值,而不是代码中已经声明的值,就是这样!谢谢没想到会这么简单