簡體   English   中英

將數組傳遞給函數錯誤?

[英]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個我不理解的錯誤,有人可以幫助我解決這些錯誤嗎?

錯誤:

  1. 說明“資源” Array_Argument.c的資源路徑位置類型沖突類型
    / Array_Argument / src第58行C / C ++問題

  2. 說明資源路徑位置類型輸入 Array_Argument.c / Array_Argument / src行末尾的預期聲明或語句 67 C / C ++問題

  3. 說明資源路徑位置輸入的參數太少而無法使用'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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM