void itoa(int n,char s[]) { static int i=0; //为什么一定要用静态变量???if(n<0) { s[i++]='-'; n=-n; } if(n/10) itoa(n/10,s); s[i++]=(n%10+'0'); s[i]='\0'; }
2 回答

慕姐4208626
TA贡献1852条经验 获得超7个赞
1,printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息。
2,printf()函数的调用格式为: printf("<格式化字符串>", <参量表>)。
3,格式输出,它是c语言中产生格式化输出的函数(在 stdio.h 中定义)。用于向终端(显示器、控制台等)输出字符。格式控制由要输出的文字和数据格式说明组成。要输出的的文字除了可以使用字母、数字、空格和一些数字符号以外,还可以使用一些转义字符表示特殊的含义。
4,作用:在c语言中产生格式化输出的函数(定义在 stdio.h 中),其向终端(显示器、控制台等)输出字符。

千巷猫影
TA贡献1829条经验 获得超7个赞
这个函数的功能是将一个int型数据n 转换成char型数据并储存到数组s中
i必须用静态变量,因为i代表着数字n的位数。这个函数是递归实现的,如果不把i设置为静态,那么每次调用i都会变成0,这样就无法保存n的每一位的数字了。所以要运用静态局部变量的性质,即只会被初始化一次。这样变量i的值就随着函数的调用而改变。
- 2 回答
- 0 关注
- 155 浏览
添加回答
举报
0/150
提交
取消