整数を視覚的に同等の文字列に変換する関数を広範囲に検索し、何も見つからなかった後、私は自分で書くことにしました。
関数"ascii"は、変換される整数、変換された整数を保持する文字列、および0のままにすることを目的としたカウンターの3つの引数を取ります。
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);
}
}
この関数を1桁の数字でテストしても、予期しないことは何も起こりませんが、数字が大きくなると、物事が乱雑になり始めます。76は「761」、765は「| 51」、7658は「-81」になります。数字を構成する桁数が多いほど、結果の文字列から理解できる意味が少なくなります。何が得られますか?