次のようなものを使用するだけです:
int n = 544; // your number (this value will Change so you might want a copy)
int i = 0; // the array index
char a[256]; // the array
while (n) { // loop till there's nothing left
a[i++] = n % 10; // assign the last digit
n /= 10; // "right shift" the number
}
これにより、数値が逆順で返されることに注意してください。i
これは、値の長さを決定する方法に基づいて、初期値と増分/減分を変更することで簡単に変更できます。
(Brett Hale) 投稿者が気にしないことを願っていますが、変換前に 10 進数の桁数を正しく判断するのは簡単ではないため、この場合に使用するコード スニペットを追加すると思いました。
{
char *df = a, *dr = a + i - 1;
int j = i >> 1;
while (j--)
{
char di = *df, dj = *dr;
*df++ = dj, *dr-- = di; /* (exchange) */
}
}