C言語で質問です
2次元配列の中身の積を計算するのをmainではない関数のなかで

double matrix (int fma[3][3]){
  double ans;
ans = (fma[0][0]) * (fma[1][1]) * (fma[2][2]);
printf("\n ans = %d\n",ans);
中略
}

というのを書くとfmaの値はドレも0ではないのにansの値が0に成ってしまいます
fmaの値をprintfなどで表示させることは出来るのですが計算は出来ません
なぜなのでしょうかご教授お願いします