#include <stdio.h> #include <math.h> #include <stdlib.h> void itoa_num(int n, char *s) { static int i; if(n / 10) itoa_num(n / 10, s); else { i = 0; if(n < 0) s[i++] = '-'; } s[i++] = abs(n) % 10 + '0'; s[i] = ' '; } int main() { char s[100]; int n = -100; itoa_num(n, s); printf("%s ",s); return 0; }
此程序中运用了递归和static类型变量,都不熟悉,尤其是static。好好看看。