این خط :
int a;
float score[a];
دارید آرایه با سایز a میسازید ولی به a مقدار ندادید .
برای فرستادن ارایه هم به این شکل باید بنویسید :
average=ave(score,count);//ave(score[],count) eshtebah hast
کد درست : (البته هنوز خطای منطقی هم داره اون جا که داخل while دارید -1 بودن رو چک می کنید درست نیست )
#include <stdio.h>
#include <stdlib.h>
float ave(float score[],int count);
int main(int argc, char *argv[])
{
float average;
float score[100];
int count=0;
int counter=0;
printf("enter scores\n");
printf("for end enter -1\n");
while(score[counter]!=-1)
{
scanf("%f",&score[counter]);
if(score[counter]==-1)
break;
counter++;
}
count=counter;
average=ave(score,count);
printf("======================\n");
printf("average is : ");
printf("%f",average);
printf("\n");
getchar();
return 0;
}
float ave(float score[],int count)
{
int i;
float av=0;
float sum=0;
for( i=0;i<count;i++)
sum=sum+score[i];
av=sum/count;
return av;
}