Parâmetros de programação 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);
}

O que estou tentando realizar é ter o valor do parâmetro de int ada getScoresfunção a ser usado na printScoresfunção como um comprimento de matriz conforme está sendo usado em getScores.

Os arrays estão salvando seu valor quando usados ​​na função de impressão, mas o avalor está sendo redefinido para um número não atribuído 896 quando preciso que seja o que o usuário insere na função get. Alguma dica?

Respostas

P__JsupportswomeninPoland Nov 01 2020 at 14:51
  1. Imprimir pontuações não imprimirá nada.
void getScores(int *a, 

E a chamada

getScores(&num

Você também precisa alterar o código de funções de acordo