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