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