1

文字数を変換する方法を見つけようとしています。

char num = "1";

整数と同じ数に

char num = "1"; would be converted to int numc = "1";

私が考えることができる唯一の方法は、手動で一連の if ステートメントを実行することですが、これは少し過剰に思えます。ありがとう!

4

2 に答える 2

5

C では、文字は実際には文字の値を表す数字にすぎないため、次のようになります。

char ch = '1';
int num = ch - '0';

printf("ch=%c num=%d\n", ch, num);

これは、すべての一般的な文字セットで、'0'~までの文字値'9'が順番に割り当てられるという事実を利用しています。

char値は一重引用符で囲まれ複数文字の文字列は二重引用符で囲まれていることにも注意してください。

于 2012-05-16T23:02:10.670 に答える
1

問題の簡単な解決策は、以下に示すように、数字の値から「0」を引くことです。

char num = '2';

int i = num - '0';
于 2012-05-16T23:02:19.710 に答える