それgetNumber
が65432 であると仮定
します。各配列に番号を格納したい
例:
number[0] = 6
number[1] = 5
number[2] = 4
どうすればいいですか?
char input[32];
char getNumber[32];
int number[20];
fgets(input,sizeof(input),stdin);
sscanf(input,"%s",number);
実際にやろうとしていることは、次のようになります。
int digits[20];
char word[20];
sscanf(input, "%19s", word); // <-- read word
int i, len = strlen(word);
for (i = 0; i < len; ++i)
digits[i] = word[i] - '0'; // <-- get integral value of each character
文字列の最初の文字は index0
にあり、2 番目の文字は index にあるということを覚えておいてください。また、減算することでASCII1
数字から数値を取得できることも覚えておいてください(理由を理解するには、ASCII テーブルを見てください)。'0'
だからあなたはそれをすることができます
number[0] = getNumber[0] - '0';
number[1] = getNumber[1] - '0';
等々。
もちろん、これはループできちんと行うことができます。