Sure, if you use helper functions. Here's an example. I'm afraid it's not very nicely coded.
Code:
#include <stdio.h>
int my_itoa_r(int n, char *s, int digit) {
int d, max;
if(n == 0) {
s[digit] = 0;
return digit;
}
d = n % 10;
max = my_itoa_r(n / 10, s, digit + 1);
s[max - digit - 1] = d + '0';
return max;
}
void my_itoa(int n, char *s) {
my_itoa_r(n, s, 0);
}
int main() {
char buffer[BUFSIZ];
int number = 123456;
my_itoa(number, buffer);
printf("itoa(%d) = \"%s\"\n", number, buffer);
return 0;
}