ホームページ  >  記事  >  バックエンド開発  >  C 言語の scanf 関数の入力形式と使用法を調べる

C 言語の scanf 関数の入力形式と使用法を調べる

王林
王林オリジナル
2024-02-18 18:47:05836ブラウズ

C 言語の scanf 関数の入力形式と使用法を調べる

C言語のscanf関数の入力形式と使い方を詳しく解説

C言語のscanf関数は、標準入力からデータを読み取るメソッドです。ストリーム関数。定義されたフォーマット文字列に従ってさまざまなタイプのデータを読み取り、対応する変数に割り当てることができます。この記事では、scanf関数の入力形式とその使い方を詳しく紹介し、具体的なコード例を示します。

  1. 基本的な入力形式:

scanf 関数の基本的な入力形式は、読み取るデータ型を指定するために使用される変換指定子と修飾子で構成されます。一般的に使用される変換指定子と修飾子は次のとおりです。

  • %d: 10 進整数の読み取りに使用されます。
  • %f: 浮動小数点数の読み取りに使用されます。
  • %c: 単一文字の読み取りに使用されます。
  • %s: 文字列の読み取りに使用されます。
  • %%: パーセント記号を読み取るために使用されます。
  • %lf: 倍精度浮動小数点数の読み取りに使用されます。
  1. 形式の変更:

変換指定子に加えて、scanf 関数は形式修飾子を使用して入力データの形式を制限することもできます。以下に一般的な修飾子をいくつか示します。

  • *: データをスキップし、変数に読み込まないでください。
  • 数値: 読み取る最大文字数を指定します。
  • h: 短整数の読み取りに使用されます。
  • l: 長整数および倍精度浮動小数点数を読み取るために使用されます。
  1. 入力例:

次に、具体的なコード例を使用して、scanf 関数の使用方法を紹介します。

#include <stdio.h>

int main() {
    int age;
    float height;
    char name[20];

    printf("请输入您的年龄:");
    scanf("%d", &age);

    printf("请输入您的身高(米):");
    scanf("%f", &height);

    printf("请输入您的姓名:");
    scanf("%s", name);

    printf("您的年龄是:%d
", age);
    printf("您的身高是:%.2f米
", height);
    printf("您的姓名是:%s
", name);

    return 0;
}

上の例では、最初に整数変数 age、浮動小数点変数 height、および文字配列 name を宣言しました。次に、printf 関数を使用してプロンプト情報をそれぞれ出力します。

次に、scanf 関数を使用してユーザーが入力した年齢、身長、名前を読み取ります。ご覧のとおり、整数変数と浮動小数点変数の場合は、& シンボルを使用して変数のアドレスを取得する必要がありますが、文字配列の場合は変数名を直接使用します。

最後に、printf関数を使用して、読み取ったデータを出力します。

  1. 注:
  • scanf 関数を使用する前に、誤ったデータの読み取りを避けるために、fflush 関数を使用して入力バッファをクリアすることをお勧めします。
  • scanf 関数は文字列を読み取るときに区切り文字としてスペースを使用するため、スペースを含む文字列の場合は、入力行全体を読み取るために `%[^
    ]` の形式を使用する必要があります。

概要: scanf 関数は、C 言語で一般的に使用される入力関数であり、単純な書式文字列と修飾子の組み合わせを通じてさまざまなタイプのデータを読み取ることができます。これを使用する場合は、変換指定子と修飾子の使用に注意し、入力バッファーの影響を回避して、正しいデータが確実に読み取られるようにする必要があります。以上、scanf関数の入力形式とその使い方について詳しく紹介しましたので、読者の皆様のお役に立てれば幸いです。

以上がC 言語の scanf 関数の入力形式と使用法を調べるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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