Ciao a tutti,
Svolgendo un esercizio, ho riscontrato dei problemi con i puntatori.
Nell'esercizio devo passare due array di interi ad una funzione, la quale mi deve restituire un array di char.
il prototipo della funzione è: (spero sia giusto)
char **risultati(int *, int *);
Il mio problema è che non riesco a capire come restituire l'array finale.
Il programma che ho scritto è questo:
codice:#include <stdio.h> #include <string.h> #define L 13 char *risultati(int *, int *); int main(int argc, char *argv[]){ int in[L], out[L]; int i; char *r; for(i = 0; i < L; i++){ printf("Casa: "); scanf("%d", &in[i]); printf("\nOspite: "); scanf("%d", &out[i]); printf("\n\n"); } *r = *risultati(in, out); for(i = 0; i < L; i++) printf("%c\n", *r); return 0; } char *risultati(int in[L], int out[L]){ char res[L], **r; int i; *r = &res[0]; for(i = 0; i < L; i++){ if(in[i] > out[i]) strcpy("1", *res[i]); else if(in[i] == out[i]) strcpy("X", *res[i]); else if(in[i] < out[i]) strcpy("2", *res[i]); } return **r; }
Grazie in anticipo per gli aiuti

Rispondi quotando