- 461
- 24
- CPU
- Ryzen 9 3900x
- Scheda Madre
- ASUS H170-Pro
- RAM
- Corsair Vengeance LPX 2x8 GB
- GPU
- ZOTAC RTX 3070 TWIN EDGE OC
- Monitor
- Philips Gaming Monitor 24"
- PSU
- Corsair CX450M
- Case
- Sharkoon VS4-V
- OS
- Windows 11 Pro
Salve.
Non riesco a trovare il motivo per cui quando vado a stampare la matrice mi stampa sempre l'ultimo elemento.
Non riesco a trovare il motivo per cui quando vado a stampare la matrice mi stampa sempre l'ultimo elemento.
C:
#include <stdio.h>
#include <stdlib.h>
void freeBuffer(void){
while(getchar() != '\n');
}
int main(int argc, char *argv[]){
char *matrice[10][1]; // Matrice di puntatori a char
char array[32] = {0}; // Array usato per scrivere nella matrice
/**
* Scrivo nella matrice
* attraverso un for
*/
for(unsigned int i = 0;i<10;++i){
scanf("%[^\n]s", array);
matrice[i][0] = array; // Posizione colonna sempre 0
printf("%2d: %s\n", i, matrice[i][0]);
freeBuffer();
}
printf("\n\n");
/**
* Stampo la matrice
* di puntatori
*/
for(unsigned int i = 0;i<10;++i){
printf("%s\n", matrice[i][0]); // vedi riga 23
}
getchar();
getchar();
return 0;
}