此代碼僅在向最終的printf中插入「%d」時有效。我想這是因爲「馬」是一個整數,但我希望它是一個整數,我已經宣佈它是這樣的。我該如何解決這個問題?在C中打印一個雙精度數而不是整數
「v」已被定義。
#include <stdio.h>
#include <stdlib.h>
#define N 25
double arithmeticMean(int v[N])
{
double ma;
int i,sum=0;
for(i=0;i<N;i++){
sum=sum+v[i];
}
ma=sum/N;
return ma;
}
int main()
{
m1=arithmeticMean(v);
printf("Arithmetic mean: %lf\n",m1);
return 0;
}
您尚未定義'm1'或'v'。 –
此代碼不包含'm1'和'v'的聲明,並且不會進行編譯。請閱讀並按照https://stackoverflow.com/help/mcve上的說明進行操作。 (我想我知道你的問題是什麼,但是沒有看到'm1'的聲明,我無法確定。) – zwol
'ma = suma/N;' - >'ma =(double)sum/N;' – BLUEPIXY