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..