配列を引数として使う

5人の得点の平均点を出す。
以下、失敗例。

#include <stdio.h>
float avg(int t[]);

float avg(int t[]){
    int sum;
    for(int i=0;i<5;i++){
        sum += t[i];
    }
    return sum/5.0;
}

int main (void)
{
    printf("5人の点数を入力してください");
    int test[5];
    for(int i=0;i<5;i++){
        scanf("%d",test[i]);    
    }
    float ans;
    ans = avg(test[]);
    printf("5人の平均は%d点です。");
    return 0;     
}

この2点が問題。
(1)scanfの仕様に関する知識不足

scanf("%d",&test[i])

scanfの用法は

scanf("変換仕様"、"&変数")
例えば、scanf("%d",&num)

(2)配列を引数として用いるときのルール

ans = avg(test);

引数として配列を使うときは、実引数として配列名を渡す。

配列を関数に渡すときは、先頭要素のアドレスを渡すことになるので
参照渡しで渡していることになる。