加一个'0'的作用是什么?
#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 = '-';
num = -num;
}
temp = num;
while (temp > 9) {
dec *= 10;
temp /= 10;
}
while (dec != 0) {
//这里加一个'0'的作用是
str = num / dec + '0';
num = num % dec;
dec /= 10;
}
str = '\0';
return str;
}
int main(void) {
char str;
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' 就是把这个数字变成字符 //这里加一个'0'的作用是
str = num / dec + '0';
楼上说的对,为了鱼币,再回一下,哈哈哈哈
以字符‘0’是基准点,拿到的一位数字是0就+0,转换成字符‘0’,是5就+5,转换成字符‘5’, 就是这样
是的,就是这个意思,+‘0’是为了将一个数字转换为一个字符 感谢各位的回答 只想领个币 领币学习 领个币{:10_256:}
页:
[1]