Scusate probabilmente sono stupido io ma non mi entra bene nella testa come itoa fà quello che fà...per favore ditemi se i passaggi che ho capito sono corretti e aiutatemi con quelli che non m'entrano...
in pratica:
Temo di aver fatto parecchia confusione...potete aiutarmi un po'?codice:/* Riceve l'intero da convertire e il puntatore alla stringa dove mettere la conversione e non ritorna alcun valore */ void itoa(int n, char *s) { int i, sign; if ((sign = n)<0) //imposta la variabile sign con il valore di n e se il numero è negativo n = -n; // allora metti in n il suo modulo i = 0; do { s[i++] = n%10 + '0';//in s[0], s[1],etcetc metti... (che ci mette esattamente)? perchè+0? } while ((n /= 10) > 0); //finchè n!?!?! che condizione è (n /=10)>0 ?!?!?1 if (sign<0) //se sign <0 ma non lo aveva già fatto questo controllo? o questo è alla fine? perchè lo rifà? s[i++] = '-'; //metti - alla fine (ma il carattere - serve ad indicare nella stringa che il numero è negativo? s[i] = '\0'; // metti il carattere di fine stringa reverse(s); // inverti la stringa }
Grazie

Rispondi quotando