Trasformare un intero in un carattere

di il
4 risposte

Trasformare un intero in un carattere

Salve ragazzi,

devo scrivere una funzione che prende in input un numero intero e in output restituisce lo stesso numero solo che ogni cifra devimale deve essere contenuta in una locazione di un array di tipo char.

Ecco la funzione scritta da me:

void base2base10 (unsigned int n, unsigned char cifre10[], int *n_c)
{
     int i;
     *n_c=0;
      while (n > 0)
     {
           cifre10[*n_c] = n%10; 
           (*n_c)++;
           n=n/10;    
     }  
}
Funziona ma c'è un problema.. Io per leggere i numeri dall'array devo usare il codice di formato %d nella printf, invece la professoressa ci ha spiegato che dobbiamo visualizzarlo con il %c ossia come carattere..

Ho provato a modificare la funzione scrivendo:

temp=n%10
cifre10[*n_c] = (char) temp;
usando in pratica il typecasting ma mi da lo stesso risultato..

Come posso risolvere questo problema? Grazie per eventuali consigli..

4 Risposte

Devi accedere o registrarti per scrivere nel forum
4 risposte