Параметры программирования 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);
}

То , что я пытаюсь сделать , это иметь значение параметра int aиз getScoresфункции , которые будут использоваться в printScoresфункции как длина массива , как оно используется в getScores.

Массивы сохраняют свое значение при использовании в функции печати, но aзначение сбрасывается на неназначенное число 896, когда мне нужно, чтобы это было то, что пользователь вводит в функции get. Какие-нибудь советы?

Ответы

P__JsupportswomeninPoland Nov 01 2020 at 14:51
  1. Печатать оценки не буду ничего печатать.
void getScores(int *a, 

И звонок

getScores(&num

Вам также необходимо соответствующим образом изменить код функции