Ciao,
stò impazzendo con l'esame di laboratorio di programmazione...un esercizio è scrivere una propria versione di itoa....questo è il delirio di soluzione messa online dalla proff...che ovviamente non funziona....potete darmi una mano?!?! non capisco proprio la logica dietro all'itoa()....
codice:
#include <stdio.h>
#include <string.h>
main()
(
int err=O, n=13;
char s[20];
int itoa(int n,char s[]);
err = itoa(n,s);
s[20]=' ';
\0
printf ("n=%d, s=%s\n",n,s);
}
itoa(n,s)
char s[];
int n;
{
int i, segno;
if((segno = n) < 0) /* controllo segno */
n= -n; /* rende n positivo */
i = 0;
do
{
/* genera le cifre in ordine inverso */
s[i++] = n % 10 + '0'; /* prende la cifra succ.*/
}while(( n/= 10) > 0); /* la toglie */
if (segno < 0)
s[i++] = ' ;
-'
s[i]= ' ';
\0
reverse(s);
return (0);
}
reverse(s) /*inverte la stringa s sul posto */
char s[];
{
int c, i, j ;
for (i = 0, j = strlen(s)-1, i < j; i++, j--)
{
c=s[il;
s[i]=s[j] ;
s[j]=c;
}
}
Grazie
Andrea