hallo zusammen
ich habe das problem dass ich ein übergebenes array(pointer) nicht auslesen kann.
ausgegeben wird:
wenn ich in der methode "countStudentsPerMark" das array ausgebe kommt folgendes raus (was korrekt ist):
ich verstehe nicht was ich falsch mache. hab sehr viel nachgelesen und probiert aber schaffe es einfach nicht
ich habe das problem dass ich ein übergebenes array(pointer) nicht auslesen kann.
Code:
#include <stdio.h>
int marks[3] = {4,3,1};
int* countStudentsPerMark() {
int arrMarkTable[6] = {0, 0, 0, 0, 0, 0};
int i = 0;
while(i<3) {
switch(marks[i]) {
case 1: arrMarkTable[0]++;
break;
case 2: arrMarkTable[1]++;
break;
case 3: arrMarkTable[2]++;
break;
case 4: arrMarkTable[3]++;
break;
case 5: arrMarkTable[4]++;
break;
case 6: arrMarkTable[5]++;
break;
}
i++;
}
return arrMarkTable;
}
int main(void) {
int i = 0;
int *arr;
arr = countStudentsPerMark();
while(i<6) {
printf("<%d>\n", arr[i]);
i++;
}
return 0;
}
ausgegeben wird:
<1>
<2130567168>
<13>
<2686668>
<0>
<2686916>
wenn ich in der methode "countStudentsPerMark" das array ausgebe kommt folgendes raus (was korrekt ist):
<1>
<0>
<1>
<1>
<0>
<0>
ich verstehe nicht was ich falsch mache. hab sehr viel nachgelesen und probiert aber schaffe es einfach nicht