Tham số lập trình 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);
}

Những gì tôi đang cố gắng thực hiện là có giá trị tham số int atừ getScoreshàm sẽ được sử dụng trong printScoreshàm dưới dạng độ dài mảng như nó đang được sử dụng getScores.

Các mảng đang lưu giá trị của nó khi được sử dụng trong hàm in nhưng agiá trị đang đặt lại thành số chưa được gán 896 khi tôi cần nó là giá trị người dùng nhập vào hàm get. Bất kỳ lời khuyên?

Trả lời

P__JsupportswomeninPoland Nov 01 2020 at 14:51
  1. Điểm in sẽ không in bất cứ thứ gì.
void getScores(int *a, 

Và cuộc gọi

getScores(&num

Bạn cũng cần thay đổi mã chức năng cho phù hợp