You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

Esimerkki luvun muuttamisesta merkkijonoksi

#include<stdio.h>
#include<math.h> //linkkaukseen -lm , jotta tarvittavat kirjastot mukana, log10() tarvitsee

char* itoa(int luku, char*jono);

//esimerkki main funktiosta
int main()
{
 int luku=123;
 char Jono[10];
 itoa(luku,Jono);
 printf("%d %s\n", luku,Jono);
 return 1;
}

char* itoa(int luku, char*jono)
{
 int i=0;
 int apu,numero,alkupluku;
 alkupluku=luku;
 i=log10((double)abs(luku));//luvussa on i+1; numeroa
 if(luku<0)i++;
 jono[i+1]=0;//päätetään merkkijono eli 0 loppuun
 luku=abs(luku);
 while(i>-1 && alkupluku > 0 ||i>0 && alkupluku < 0 )
 {
   apu=luku/10;
   apu=apu*10;
   numero=luku-apu; //luvun vähiten merkitsevä numero
   jono[i]=48+numero; //muutetaan numero ASCII-arvoksi
   i--;
   luku=luku/10;
 }
 if(alkupluku<0) jono[0]='-';
 return jono;
}
  • No labels
You must log in to comment.