ホームページ >よくある問題 >C言語の文字を数値に変換する方法

C言語の文字を数値に変換する方法

zbt
zbtオリジナル
2023-08-09 15:06:4131971ブラウズ

C 言語の文字を数値に変換する方法: 1. 強制型変換を使用して文字「5」を整数型に強制し、文字「0」の ASCII コード値を減算して数値を取得します。 5; 2. ライブラリ関数 atoi() を使用して、atoi() 関数を通じて文字列 "123" を整数 123 に変換し、結果を出力します; 3. ライブラリ関数 sscanf() を使用して文字列 "456" を変換しますsscanf() 関数を通じて文字列 "456" から " から整数を読み取り、結果を変数 num に格納し、最後に結果を出力します。

C言語の文字を数値に変換する方法

このチュートリアルの動作環境: Windows 10 システム、C 20 バージョン、DELL G3 コンピューター。

C 言語では、文字は ASCII コードの形式で格納されます。 ASCII コードは、文字と数字を対応させるエンコード システムであり、128 文字の標準エンコードを定義しています。 C言語には文字を数値に変換する方法がいくつかあります。

1. 型キャストの使用:

C 言語では、型キャストを使用して文字を対応する数値に変換できます。たとえば、文字「5」を対応する数値 5 に変換するには、次のコードを使用できます。

char c = '5';
int num = (int) c - '0';

この例では、文字「5」が整数にキャストされてから、文字「'」がキャストされます。 0' から ASCII コード値を減算して数値 5 を取得します。これは、文字「0」から「9」までの ASCII コードが順に増加し、文字「0」の ASCII コード値を減算することで、対応する数値が得られるためです。

2. ライブラリ関数 atoi() を使用します:

C 言語の stdlib.h ライブラリには、文字列を整数に変換できる関数 atoi() が用意されています。 。この関数のパラメータは文字列であり、戻り値は対応する整数です。

#include
#include
int main() {
char str[] = "123";
int num = atoi(str);
printf("%d\n", num);
return 0;
}

この例では、文字列「123」が atoi() 関数によって整数 123 に変換され、結果が出力されます。

3. ライブラリ関数 sscanf() を使用します:

C 言語の stdio.h ライブラリには、Read data から読み取ることができる関数 sscanf() が用意されています。文字列から。形式を「%d」と指定すると、文字列を整数に変換できます。

#include
int main() {
char str[] = "456";
int num;
sscanf(str, "%d", &num);
printf("%d\n", num);
return 0;
}

この例では、sscanf() 関数を使用して文字列「456」から整数を読み取り、結果を変数 num に格納し、最後に結果を出力します。

強制型変換、atoi() 関数、または sscanf() 関数のいずれを使用しても、文字を対応する数値に変換できます。変換結果の範囲は整数で表現できる範囲内でなければなりません。そうでない場合はオーバーフローする可能性があります。さらに、変換プロセス中に文字が数字であることを確認してください。そうしないと、結果が不正確になる可能性があります。

以上がC言語の文字を数値に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。