[英]Passing an array to function error?
#include <stdio.h>
#include <stdlib.h>
double avrage(int array[5]);
int main(void)
{
int arr[5] = {10,20,30,40,50};
puts("!!!Hello World!!!"); /* prints !!!Hello World!!! */
printf("Avg = %f",avrage(arr));
return EXIT_SUCCESS;
}
double avrage(int array[5])
{
int i,sum=0;
double avg=0;
for(i=0;i<5;i++)
{
sum = sum + array[i];
}
avg = sum / 5;
return avg;
}
我已經編寫了將數組傳遞給函數以獲取數組元素平均值的代碼。 但是我遇到了3個我不理解的錯誤,有人可以幫助我解決這些錯誤嗎?
錯誤:
說明“資源” Array_Argument.c的資源路徑位置類型沖突類型
/ Array_Argument / src第58行C / C ++問題
說明資源路徑位置類型輸入 Array_Argument.c / Array_Argument / src行末尾的預期聲明或語句 67 C / C ++問題
說明資源路徑位置輸入的參數太少而無法使用'avrage'函數 Array_Argument.c / Array_Argument / src第54行C / C ++問題
avg = sum / 5.0;
否則,整數運算將截斷結果。 除此之外,代碼還可以。
最終,您的代碼歸結為double avrage(int *array)
。 數組衰減為指向第一個元素的指針。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.