Sto creando un gioco, ma sono fermo a chiedere i nomi dei giocatori. Ho creato una funzione logicamente indipendente dalle restanti, ora ve la riporto:
MAX_NOME_GIOC è una macro, e vale 35, numGiocatori è invece il numero di giocatori stabilito dagli utenti prima di chiedere i loro nomi (quindi è una variabile).codice:char NomeGioc(char giocatori[][MAX_NOME_GIOC], int gioc) { int j = 0; while(j > numGiocatori) { printf("Giocatore %d inserisci il tuo nome (max %d caratteri)\n[S per uscire]: ", j + 1, MAX_NOME_GIOC); scanf("%s", giocatori[j]); fflush(stdin); if(giocatori[j] == 'S' || giocatori[j] == 's') { exit(0); } else if(giocatori[j] <= 0 || giocatori[j] > MAX_NOME_GIOC) { printf("Nome piu\' lungo del consentito!"); } else { break; } j++; } return giocatori[][MAX_NOME_GIOC]; }
Il compilatore mi dà il seguente errore: [Warning] comparison between pointer and integer
Penso che il problema sia dovuto al passaggio della matrice come parametro della funzione. Inoltre non sono sicuro che il return sia corretto.
Grazie mille a chi mi aiuterà![]()

Rispondi quotando