Ciao a tutti.
Devo inserire in una matrice dei caratteri. Inizialmente ho fatto in questo modo:
facendo cioè la memorizzazione del carattere nella matrice in questo modo :codice:#include <stdio.h> #include <stdlib.h> #define n 100 #define m 100 int main() { char MAT[n][m]; int i, j, N, M; printf("Inserisci il numero di righe N : \n"); scanf("%d", &N); printf("Inserisci il numero di clonne M : \n"); scanf("%d", &M); printf("\n"); printf("Inserisci gli elementi della matrice MAT\n\n"); for ( i = 0; i < N; i++ ) { for ( j = 0; j < M; j++ ) { printf( "Inserisci il carattere [%d][%d] : \n", i, j ); scanf("%s", &MAT[i][j]); } } printf("La matrice MAT è : \n"); for ( i = 0; i < N; i++ ) { for ( j = 0; j < M; j++ ) { printf("%c", MAT[i][j]); printf("\t"); } printf("\n"); } return 0; }
ma a quanto pare non era la forma corretta in quanto mi chiedeva ciclicamente l'inserimento di 2 elementi per volta, poi ho fatto in questo modo:codice:scanf("%c", &MAT[i][j]);
cioè cambiando il tipo di dato da char a string e va tutto bene.codice:scanf("%s", &MAT[i][j]);
Il problema è che non mi è chiaro perchè non era corretto definire il tipo di dato char e invece va bene con string se gli elementi che inserisco sono di tipo char ??????
Grazie

Rispondi quotando
In ogni caso, se si tratta di un altro problema devi aprire una discussione separata.
