简单的逻辑错误我确定,我的数学公式的输出仅为 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。