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

    [C] da char ad int

    Per quale motivo se io ho una variabile char il cui valore ascii è inferiore a 127 e provo a stamparlo a video come int me lo stampa corretto, mentre invece se è maggiore uguale a 127, lo stampa male???

    Esempio:

    char mio = 'x';
    printf("%d",mio);

    a video viene stampato 120 quindi corretto
    invece se ho:

    char mio = 'é';
    printf("%d",mio);

    a video viene stampato -23 quindi errato!

    Grazie per l'aiuto!

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Non stampa "male" ... e' corretto.

    Il char e' un tipo di dati con segno.

    Devi usare l'unsigned char (o un cast apposito)

    unsigned char mio = 'é';
    printf("%d",mio);

    oppure

    char mio = 'é';
    printf("%d", (unsigned char)mio);

  3. #3
    risolto, grazie!

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 © 2025 vBulletin Solutions, Inc. All rights reserved.