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

Apa yang saya coba capai adalah memiliki nilai parameter int adari getScoresfungsi yang akan digunakan dalam printScoresfungsi sebagai panjang array seperti yang digunakan getScores.

Array menyimpan nilainya ketika digunakan dalam fungsi cetak tetapi anilainya diatur ulang ke nomor yang tidak ditetapkan 896 ketika saya membutuhkannya untuk menjadi apa yang dimasukkan pengguna dalam fungsi get. Ada tips?

Jawaban

P__JsupportswomeninPoland Nov 01 2020 at 14:51
  1. Skor cetak tidak akan mencetak apapun.
void getScores(int *a, 

Dan panggilannya

getScores(&num

Anda juga perlu mengubah kode fungsi yang sesuai