简单的逻辑错误我确定,我的数学公式的输出仅为 0
Simple logical error I'm sure, output is only 0 for my math formula
#define _CRT_SECURE_NO_WARNINGS
#define NAME_LENGTH 10
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
double myFunc(double x)
{
double y = (pow(x, 3)) - (3 * (pow(x,2))) + 2;
return y;
}
int main()
{
double y = 3;
myFunc(y);
printf("%d \n", y);
system("pause");
return 0;
}
对我来说这应该是一个非常非常简单的公式。我不是要它跳过很多圈,但无论我给 "y" 什么值,它都只会输出“0”。
我正在使用 Visual Studio 2013。
我将鼠标悬停在 "y" 上,它说 "y" 在函数中等于“2.0000”,这是 "y."
这个特定值的正确输出
将 myFunc return 值赋给 y:y = MyFunc(y);并使用格式 %lf 而不是 %d。
#define _CRT_SECURE_NO_WARNINGS
#define NAME_LENGTH 10
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
double myFunc(double x)
{
double y = (pow(x, 3)) - (3 * (pow(x,2))) + 2;
return y;
}
int main()
{
double y = 3;
myFunc(y);
printf("%d \n", y);
system("pause");
return 0;
}
对我来说这应该是一个非常非常简单的公式。我不是要它跳过很多圈,但无论我给 "y" 什么值,它都只会输出“0”。
我正在使用 Visual Studio 2013。 我将鼠标悬停在 "y" 上,它说 "y" 在函数中等于“2.0000”,这是 "y."
这个特定值的正确输出将 myFunc return 值赋给 y:y = MyFunc(y);并使用格式 %lf 而不是 %d。