How to implement the itoa() function to convert int to string in C

2 Answers

0 votes
#include <stdio.h>
#include <string.h>
  
#define LEN 10
  
void my_itoa(int n, char s[]);
  
int main(void)
{
    char s[LEN];
    int n = 23479;
      
    my_itoa(n, s);
    printf("s = %s\n", s);
     
    return 0;
}
 
void my_itoa(int n, char s[]) 
{ 
    int i, sign = n; 
     
    if (n < 0) 
        n = -n;         
    i = 0; 
    do
    {     
        s[i++] = n % 10 + '0';  
    } while ( (n /= 10) > 0);   
        
    if (sign < 0) 
        s[i++] = '-'; 
    s[i] = '\0'; 
     
    strrev(s); 
} 
  
/*
run:
    
s = 23479
 
*/

 



answered Nov 10, 2015 by avibootz
edited Nov 11, 2015 by avibootz
0 votes
#include <stdio.h>
#include <string.h>
  
#define LEN 13
  
void my_itoa(int n, char s[]);
  
int main(void)
{
    char s[LEN];
    int n = -87423;
      
    my_itoa(n, s);
    printf("s = %s\n", s);
     
    return 0;
}
 
void my_itoa(int n, char s[]) 
{ 
    int i, sign = n; 
     
    if (n < 0) 
        n = -n;         
    i = 0; 
    do
    {     
        s[i++] = n % 10 + '0';  
    } while ( (n /= 10) > 0);   
        
    if (sign < 0) 
        s[i++] = '-'; 
    s[i] = '\0'; 
     
    strrev(s); 
} 
  
/*
run:
    
s = -87423
 
*/

 



answered Nov 10, 2015 by avibootz
edited Nov 11, 2015 by avibootz

Related questions

1 answer 141 views
1 answer 90 views
90 views asked Dec 7, 2022 by avibootz
1 answer 66 views
66 views asked Dec 7, 2022 by avibootz
1 answer 89 views
1 answer 81 views
1 answer 183 views
1 answer 192 views
...