0

それ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);
4

3 に答える 3

1

実際にやろうとしていることは、次のようになります。

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
于 2013-10-09T07:17:36.000 に答える
1

文字列の最初の文字は index0にあり、2 番目の文字は index にあるということを覚えておいてください。また、減算することでASCII1数字から数値を取得できることも覚えておいてください(理由を理解するには、ASCII テーブルを見てください)。'0'

だからあなたはそれをすることができます

number[0] = getNumber[0] - '0';
number[1] = getNumber[1] - '0';

等々。

もちろん、これはループできちんと行うことができます。

于 2013-10-09T07:18:13.070 に答える