Problema puntatori stringhe

di il
2 risposte

Problema puntatori stringhe

Non capisco perchè non mi funziona il seguente programma, l'obiettivo è immettere N parole e poi farle visualizzare. Vi ringrazio in anticipo, ci ho perso ore per cercare di capire ma niente.
---------------------------------------------------------------------------------------
#include <stdio.h>

int N,i,j;

int main() {
printf("quante parole vuoi memorizzare?");
scanf("%d",&N);
char *b[N];

for(i=0;i<N;i++){

printf("inserisci elemento di posto %d\n",i);
scanf("%s",&b); // nello scanf c'è scritto &b con le parentesi quadre con dentro la i che il sito non fa visualizzare

}

for(j=0;j<N;j++){

printf("hai inserito %s",b[j]);
}



return 0;
}

2 Risposte

  • Re: Problema puntatori stringhe

    Usa i tag CODE
    char *b[N];
    Questo è un array di puntatori, quindi la dimensione totale è N*4 o N*8; b[ i ] e b[j] hanno dunque dimensione 4 o 8.

    Studiati bene il legame tra puntatore e malloc
  • Re: Problema puntatori stringhe

    Per visualizzare correttamente il codice nel forum usa i tag CODE. Leggi il regoolamento.

    b[ i ] è un puntatore ad un'area non allocata. E' un puntatore che non punta a memoria valida.
Devi accedere o registrarti per scrivere nel forum
2 risposte