Я хочу вернуть среднее значение двухмерного массива с помощью другого массива с помощью функции, программа работает нормально, но возвращает большое отрицательное число, как я могу вернуть массив или применить указатели к моей функции? где я могу добавить указатель, чтобы он работал?Возвращение массива в двухмерной функции массива?
Я столкнулся с этим:
предупреждение: передающий аргумент 1 из 'returnAvg' делает указатель из целого без актера [включен по умолчанию] |
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void returnAvg(int allTest[2][2],int students,int test);
int main()
{
int students = 2, test = 2, i,j;
int allTest[students][test];
for(i=0;i<students;i++){
for(j=0;j<test;j++){
printf("Student [%d] test [%d] score was> ",i+1,j+1);
scanf("%d",&allTest[i][j]);
}
}
returnAvg(allTest[2][2],students,test);
return 0;
}
void returnAvg(int allTest[2][2],int students,int test){
int i,j;
int avg[students];
for(i=0;i<students;i++){
int sum = 0;
for(j=0;j<test;j++){
sum += (allTest[i][j]);
}
avg[i] = sum/test;
}
printf("the average is %d, %d", avg[0],avg[1]);
return;
}
avg должен быть параметром 'returnAvg' –
ОК, я вижу, но почему он должен находиться внутри параметра функций? вместо того, чтобы находиться внутри брекетов. –
'returnAvg (allTest [2] [2], students, test)' не должен иметь '[2] [2]' в нем. 'returnAvg (allTest, students, test)' правильный, вы не определяете размер allTest здесь. –