ホームページ  >  記事  >  バックエンド開発  >  C言語のscanf関数の使用法とパラメータについての詳細な説明

C言語のscanf関数の使用法とパラメータについての詳細な説明

王林
王林オリジナル
2024-02-19 22:00:09746ブラウズ

C言語のscanf関数の使用法とパラメータについての詳細な説明

C 言語における scanf 関数とそのパラメータの詳細な分析

C 言語では、scanf 関数はデータを入力するために使用される関数であり、ユーザーは次のことを行うことができます。標準から開始する 入力デバイス (通常はキーボード) がデータを読み取り、指定された変数に保存します。この記事では、scanf 関数とそのパラメーターの詳細な分析を提供し、特定のコード例を通じて読者がその使用法を理解し、習得できるようにします。

  1. scanf 関数の基本的な使用法

scanf 関数の基本的な使用法は次のとおりです:

int scanf(const char *format, ...);

scanf 関数はフォーマットされた文字列を受け入れます。文字列は入力データの形式を指定し、標準入力デバイスからデータを読み取り、その形式に従って対応する変数に格納します。 scanf 関数の戻り値は、データの読み取りに成功した変数の数です。たとえば、3 つの変数のデータが正常に読み取られた場合、戻り値は 3 になります。

以下は、scanf 関数を使用して 2 つの整数を読み取り、それらを合計する方法を示す簡単なサンプル コードです。

#include <stdio.h>

int main() {
    int num1, num2, sum;
    printf("请输入两个整数:");
    scanf("%d%d", &num1, &num2);
    sum = num1 + num2;
    printf("两个整数的和为:%d
", sum);
    return 0;
}

上記のコードでは、scanf 関数の書式文字列 "% d%d" は 2 つの整数の入力形式を指定します。 & 演算子を通じて num1 と num2 のアドレスを取得し、それらをパラメータとして scanf 関数に渡し、入力整数をこれら 2 つの変数に保存します。

scanf 関数のフォーマット文字列内のフォーマット制御文字 (%d、%f、%c など) は、読み取られる変数のタイプと一致する必要があることに注意してください。そうでない場合は、データが一致しません。エラーが発生します。

  1. scanf 関数のパラメータの詳細説明

scanf 関数は複数のパラメータを持つことができ、各パラメータは読み取られる変数に対応します。一般的に使用されるパラメーターの使用法をいくつか次に示します。

  • %d: 整数を読み取り、それを int 型変数に格納します。
  • %f: 浮動小数点数を読み取り、float 型変数に格納します。
  • %c: 文字を読み取り、char 型変数に格納します。
  • %s: 文字列 (空白文字を除く) を読み取り、文字配列に格納します。

次に、scanf 関数パラメーターの具体的な使用法を示すサンプル コードを示します。

#include <stdio.h>

int main() {
    int num;
    float realNum;
    char ch;
    char str[20];
    printf("请输入一个整数和一个浮点数:");
    scanf("%d%f", &num, &realNum);
    printf("整数:%d,浮点数:%f
", num, realNum);

    printf("请输入一个字符:");
    scanf(" %c", &ch);
    printf("字符:%c
", ch);

    printf("请输入一个字符串(不包含空白字符):");
    scanf("%s", str);
    printf("字符串:%s
", str);
    
    return 0;
}

最初のサンプル コードでは、%d と # が使用されています # #%f2 つの形式制御文字は、それぞれ整数と浮動小数点数を読み取ります。これら 2 つの書式制御文字の間にはスペース区切りがないことに注意してください。これは、scanf 関数が改行文字または空白文字に遭遇すると入力を自動的に終了し、複数の変数を連続して読み取ることができるためです。

2つ目のサンプルコードでは、C言語の文字配列(文字列)を直接入出力できないため、単一文字を読み込むには

%c形式の制御文字を使用する必要があります。前の scanf 関数によって残された改行文字が読み取られるのを防ぐために、%c の前にスペースが追加されることに注意してください。

最後のサンプル コードは、文字列を読み取り、それを文字配列に格納する方法を示しています。文字配列自体はポインターであるため、scanf 関数で

& 演算子を使用する必要はありません。 scanf 関数が %s 形式制御文字を使用して文字列を読み取る場合、空白文字 (スペース、タブ、改行など) に遭遇すると読み取りを停止するため、scanf 関数は次の文字列を含まない文字列のみを読み取ることができることに注意してください。空白文字、文字列。

以上がC言語のscanf関数の使用法とパラメータについての詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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