Parametry programowania C.

Nov 01 2020
#include <stdio.h>


void getScores(int a, char n[10][15], int s[10]) {
    int score;
    printf("Enter the number of students: ");
    scanf("%d",&a);
    for (int i=0; i < a;i++)
    {
            scanf("%s",n[i]);
            scanf("%d",&score);
            s[i]=score;
    }
}

void printScores(int a, char n[10][15], int s[10] ) {
    for (int i=0; i < a;i++)
    {
            printf("%s", n[a]);
            printf(" ");
            printf("%d\n",s[a]);
    }

}

int main() {
    char names[10][15];
    int scores[10];
    int num;


    getScores(num,names,scores);
    printScores(num,names,scores);
}

To, co próbuję osiągnąć, to mieć wartość parametru int az getScoresfunkcji, która ma być używana w printScoresfunkcji, jako długość tablicy, która jest używana w getScores.

Tablice zapisują swoją wartość, gdy są używane w funkcji drukowania, ale awartość jest resetowana do nieprzypisanego numeru 896, gdy potrzebuję, aby był to, co użytkownik wprowadza w funkcji get. Jakieś wskazówki?

Odpowiedzi

P__JsupportswomeninPoland Nov 01 2020 at 14:51
  1. Wydruk wyników niczego nie drukuje.
void getScores(int *a, 

I wezwanie

getScores(&num

Musisz również odpowiednio zmienić kod funkcji