<分区>
在广泛搜索可将整数转换为视觉上等效的字符串但一无所获后,我决定自己编写一个函数。
“ascii”函数接受三个参数:要转换的整数、保存转换后的整数的字符串和一个要保留为 0 的计数器。
void ascii(int c, char str[], int k) {
if (c <= 9) {
str[k] = c + '0';
}
else if (c >= 10) {
str[k] = c / 10 + '0';
ascii(c % 10, str, k + 1);
}
}
用个位数测试这个函数没有什么意外,但在更大的数字上,事情开始变得困惑。 76 变成“761”,765 变成“|51”,7658 变成“-81”。数字包含的数字越多,我对结果字符串的理解就越少。给了什么?