Oppure

Loading
20/09/07 16:15
scrikkiolina
ciao.. una volta riempito un array con delle stringhe non riesco a stamparle tramite printf("%s";); come posso fare ???
...
char **lettere;
...
lettere = calloc(m, sizeof(char *));
...
for(i = 1; (i <= n) && (i <= m); i++)
printf("Coefficiente %d:\t%d\t%s\n\n", i, valori[i], lettere[i]);

grazie !!!!
aaa
20/09/07 21:40
gantonio
Ma cosi' allochi semplicemente m puntatori per m stringhe, ma non vedo l'allocazione delle stringhe ...

E non puoi usare il doppio puntatore nella printf ...

Forse, nno ti e' chiaro qualcosa riguardo a stringhe e puntatori ...

Fai vedere il codice che utilizzi per "riempire" le stringhe e indica cosa ti aspetti che venga visualizzato ...
aaa
21/09/07 8:46
scrikkiolina
/* dichiarazione vettori */

char **lettere;

/* allocazione dinamica */
lettere = calloc(m, sizeof(char *));

/* riempimento */
int riempimento()
{
    while ((conta_valori <= n) && (conta_fattori <= m))
    {
            printf("\nInserisci il termine numero %d del polinomio scelto preceduto dal segno:\t", conta_valori);
            scanf("%d", &valori[conta_valori]);
            printf("\nInserisci la parte letterale del termine numero %d:\t", conta_fattori);
            scanf("%s", &lettere[conta_fattori]);
            controllo();
    }
    return (0);    
}            


/* stampa */

int stampa_contenuto()
{
    int i;
    
    printf ("\n\nNel vettore sono presenti i seguenti COEFFICIENTI:\n";);
    for(i = 1; (i <= n) && (i <= m); i++)
    {
        printf("Coefficiente %d:\t%d\t%c\n\n", i, valori [ i], lettere [ i]);
                
    }
            
    return (0);
}

nella printf della funziona stampa... se metto %s non mi stampa nulla !!! è li il mio problema
per info... xxx

Pierotofy: evitiamo di scrivere cose tipo "per info: miaemail@provider.lt", siamo in un forum, informazioni e risposte vanno postate qui.
Ultima modifica effettuata da pierotofy 21/09/07 13:31
aaa
21/09/07 13:48
pierotofy
Noto una certa confusione, suggerisco di ripassare il capitolo sui puntatori e sugli array di stringhe.

Postato originariamente da scrikkiolina:

/* dichiarazione vettori */

char **lettere;

/* allocazione dinamica */
lettere = calloc(m, sizeof(char *));


Qui allochi solamente m puntatori a char, non allochi la memoria per contenere le stringhe.

nella printf della funziona stampa... se metto %s non mi stampa nulla !!!


Forse perchè non c'è nulla, non avendo allocato lo spazio di memoria precedentemente. Potrei anche sbagliarmi comunque, non ho fatto analisi approfondite.
Il mio blog: piero.dev
21/09/07 14:15
scrikkiolina
ma se io nella printf scrivo %c mi stampa tutto cio che inserisco...
+4 a
-12 c
...
nel caso.. potresti tu darmi qualche dritta.. ?
aaa
22/09/07 11:41
pierotofy
Hai ripassato il capitolo sui puntatori e sugli array di stringhe? Una volta che l'hai fatto hai provato a riscrivere il codice? Ora funziona? Se no, postalo.
Il mio blog: piero.dev