[ zeko007 @ 10.07.2005. 20:40 ] @
Pozdrav ljudi.

Na faksu sam dobio zadata koji glasi ovako:

Napišite funkciju prototipa
char* itoa(int n)
koja će vratiti znakovni niz koji odgovara zadanom broju, na primjer:
printf("%s", itoa(12345));
ispisuje:
12345

pa sam ja napisao sljedeci program:

#include<stdio.h>
char *itoa(int n){
int i=0,j=0;
char broj[20],g[20];
while(n){
broj=char(n%10) + 48;
n/=10;
++i;
}
broj='\0';
g='\0';
while(i){
--i;
g[j]=broj;
++j;
}
printf("%s\n",g);
return g;
}
int main(){
printf("%s", itoa(12345));
}

i on mi ispisuje neke znakove koji nisu u polju g.
u cemu je problem?

hvala
[ X Files @ 10.07.2005. 21:08 ] @
Probaj ovako /netestirano/ na nacin kako si probao:
Code:

char *_itoa(int n)
{
   static char g[20];
   int i=0,j=0;
   char broj[20];
   while ( n )
   {
      broj[i] = ( n % 10 ) + 48;
      n /= 10;
      ++i;
   }

   broj[i] = '\0';

   g[i] = '\0';

   while ( i )
   {
      --i;
      g[j] = broj[i];
      ++j;
   }
   return g;
}
[ zeko007 @ 10.07.2005. 21:21 ] @
Znaci samo je trebalo g deklarirati kao static char?
[ X Files @ 10.07.2005. 21:23 ] @
mislim da sam promenio poneku zagradu...
[ zeko007 @ 10.07.2005. 21:26 ] @
hvala ti na pomoci