|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- #include <stdio.h>
- char *myitoa(int num, char *str);
- char *myitoa(int num, char *str) {
- int dec = 1;
- int i = 0;
- int temp;
- if (num < 0) {
- str[i++] = '-';
- num = -num;
- }
- temp = num;
- while (temp > 9) {
- dec *= 10;
- temp /= 10;
- }
- while (dec != 0) {
- //这里加一个'0'的作用是
- str[i++] = num / dec + '0';
- num = num % dec;
- dec /= 10;
- }
- str[i] = '\0';
- return str;
- }
- int main(void) {
- char str[10];
- printf("%s\n", myitoa(520, str));
- printf("%s\n", myitoa(-1234, str));
- return 0;
- }
复制代码
数字0 + '0' 就相当于 0 + '0'的ASCII码,就变成了0+48 = 48,也就是'0'
同理,1+'0' = 1+48 = 49 = '1'的ASCII码 = '1'
2+'0' = 2+48 = 50 = '2'
所以,加上 '0' 就是把这个数字变成字符
|
|