我敢肯定,简单的逻辑错误,我的数学公式的输出仅为 0


#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 返回值分配给 y: y = MyFunc(y);并使用格式 %lf 而不是 %d。

最新更新