Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [C]Visualizzare da una char il valore completo

    Ciao a tutti ho un problema che non riesco a capire vi faccio vedere:
    #include <stdio.h>

    int main ()
    {
    char nome;
    printf("Ciao come ti chiami\?\n");;
    scanf("%c", &nome);
    printf("%c", nome);
    return 0;
    }


    Perche come output mi da solo la prima lettera del nome?

    L'unico modo per risolvere è dichiarare la char cosi?:

    char nome[2];?

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    466
    char = 1 byte = 1 lettera (ASCII).
    Implemeta nome come un array (esempio 10 elementi) o un puntatore (in questo caso devi prima allocare la memoria necessaria) e usare la scanf o quello che ritieni più opportuno.

  3. #3
    #include <stdio.h>

    int main ()
    {
    char *nome;
    printf("Ciao come ti chiami\?\n");;
    scanf("%c", &nome);
    printf("%c", nome);
    return 0;
    }

    cosi per esempio?


    non si capisce molto bene come funzionano i puntatori, allora la & serve per richiamare i dati salvati, mentre * serve per recuperare la memoria allocata?


    il concetto non lo capisco bene...


    nella guida di html:



    L'asterisco (*) viene chiamato operatore di indirezione o deferenziazione e restituisce il contenuto dell'oggetto puntato dal puntatore; mentre l'operatore "e commerciale" (&) restituisce l'indirizzo della variabile

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    466
    Originariamente inviato da gennahouse
    Per fare quello che vuoi tu, come già detto in precendenza devi prima allocare la memoria per il puntatore con malloc o calloc, se vuoi prestabilire una lunghezza fissa bene, (nbytes * sizeof(char)), (oppure usi un array) sennò devi allocare la memoria dinamicamente.
    C'è una discussione di qualche settimana fà che riporta appunto a questo dettaglio (allocazione dinamica) se ti serve un aiuto a riguardo..
    In piu ti consiglio di rivedere l'uso della scanf.

  5. #5
    Grazie mille per il consiglio adesso la cerco subito.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.