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()....
Graziecodice:#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; } }
Andrea

Rispondi quotando
