Parámetros de programación 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);
}

Lo que estoy tratando de lograr es tener el valor del parámetro de int ala getScoresfunción que se usará en la printScoresfunción como una longitud de matriz a medida que se usa getScores.

Las matrices están guardando su valor cuando se usan en la función de impresión, pero el avalor se restablece a un número sin asignar 896 cuando necesito que sea lo que el usuario ingresa en la función de obtención. ¿Algun consejo?

Respuestas

P__JsupportswomeninPoland Nov 01 2020 at 14:51
  1. Las partituras impresas no imprimirán nada.
void getScores(int *a, 

Y la llamada

getScores(&num

También necesita cambiar en consecuencia el código de funciones