C Programmierparameter

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);
}

Was ich versuche zu erreichen, ist, den Parameterwert int avon der getScoresFunktion, die in der printScoresFunktion verwendet werden soll, als Array-Länge zu haben, wie sie in verwendet wird getScores.

Die Arrays speichern ihren Wert, wenn sie in der Druckfunktion verwendet werden, aber der aWert wird auf eine nicht zugewiesene Nummer 896 zurückgesetzt, wenn er das sein muss, was der Benutzer in die Funktion get eingibt. Irgendwelche Tipps?

Antworten

P__JsupportswomeninPoland Nov 01 2020 at 14:51
  1. Druckergebnisse drucken nichts.
void getScores(int *a, 

Und der Anruf

getScores(&num

Sie müssen auch den Funktionscode entsprechend ändern