C programlama parametreleri

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

Başarmaya çalıştığım şey int a, getScoresişlevde kullanıldığı printScoresgibi bir dizi uzunluğu olarak işlevde kullanılacak parametre değerine sahip olmaktır getScores.

Diziler, yazdırma işlevinde kullanıldığında adeğerini kaydediyor, ancak değer, kullanıcının get işlevine girdiği şey olması gerektiğinde, atanmamış 896 numarasına sıfırlanıyor. Herhangi bir ipucu?

Yanıtlar

P__JsupportswomeninPoland Nov 01 2020 at 14:51
  1. Baskı puanları hiçbir şey yazdırmaz.
void getScores(int *a, 

Ve çağrı

getScores(&num

Ayrıca işlev kodunu da buna göre değiştirmeniz gerekir