ホームページ バックエンド開発 C++ C言語のscanf関数の正しい使い方

C言語のscanf関数の正しい使い方

Feb 19, 2024 pm 06:04 PM
入力機能 キーボード入力 フォーマット制御文字

C言語のscanf関数の正しい使い方

C 言語で scanf 関数を正しく使用する方法

はじめに:
C 言語では、scanf 関数は一般的に使用される入力関数の 1 つです。ユーザーがキーボードからデータを入力できるようになります。ただし、scanf 関数の一部の機能や使用法には微妙な違いがあるため、問題が発生しやすい場合があります。この記事では、scanf関数の正しい使い方と注意点を、具体的なコード例を交えて紹介します。

1. scanf 関数の基本的な使用法:
scanf 関数の基本的な使用法は非常に簡単で、フォーマット文字列をパラメータとして使用し、フォーマット文字列は入力のタイプとフォーマットを指定します。データ。たとえば、「%d」は整数の入力を意味し、「%f」は単精度浮動小数点数の入力を意味し、「%s」は文字列の入力を意味します。

サンプルコード 1:

#include <stdio.h>
int main() {
    int num;
    printf("请输入一个整数:");
    scanf("%d", &num);  // 输入一个整数
    printf("您输入的整数是:%d
", num);
    return 0;
}
ログイン後にコピー

2. scanf 関数の戻り値とバッファの問題:
scanf 関数は、データの読み込みに成功した場合、読み込みに成功したデータの数を返します。失敗すると、EOF が返されます。読み取りが失敗すると、scanf 関数は入力バッファーにエラーを残すことに注意することが重要です。これにより、後続の入力操作で予期しない結果が生じる可能性があります。

サンプル コード 2:

#include <stdio.h>
int main() {
    int num;
    char ch;
    printf("请输入一个整数和一个字符:");
    scanf("%d", &num);  // 输入一个整数
    scanf(" %c", &ch);  // 输入一个字符(注意前面的空格)
    printf("您输入的整数是:%d
", num);
    printf("您输入的字符是:%c
", ch);
    return 0;
}
ログイン後にコピー

上記のコードでは、2 番目の scanf 関数の前にスペースがあります。目的は、前の scanf によって入力バッファに残った改行文字を削除することです。関数。そうしないと、2 番目の scanf 関数がバッファ内の改行文字を読み取り、誤った結果を生成します。

3. scanf 関数の書式文字列の問題:
書式文字列を使用するときは十分に注意してください。書式文字列が間違っていると、プログラムがクラッシュしたり、間違った結果が生成されたりする可能性があります。

サンプル コード 3:

#include <stdio.h>
int main() {
    int num1, num2;
    printf("请输入两个整数:");
    scanf("%d%d", &num1, &num2);  // 输入两个整数
    printf("您输入的两个整数是:%d和%d
", num1, num2);
    return 0;
}
ログイン後にコピー

上記のコードの最初の scanf 関数の書式文字列 "%d%d" は、スペースとタブを使用するか、改行で区切って 2 つの整数を読み取ることを意味します。入力時に 2 つの整数を適切に分離しないと、入力エラーが発生します。

4. scanf 関数の入力制限の問題:
scanf 関数は、デフォルトで入力ターミネータとしてスペース、タブ、または改行文字を使用します。入力の長さを制御する必要がある場合は、フォーマット文字列で修飾子を使用できます。

サンプル コード 4:

#include <stdio.h>
int main() {
    char name[20];
    printf("请输入您的名字(不超过20个字符):");
    scanf("%19s", name);  // 输入一个字符串,最多19个字符
    printf("您的名字是:%s
", name);
    return 0;
}
ログイン後にコピー

上記のコードの修飾子「s」は、オーバーフローを防ぐために最大 19 文字を入力できることを意味します。配列の添字は 0 から始まるため、「s」の長さは 20 ではなく 19 になることに注意してください。

結論:
scanf 関数を正しく使用するには、戻り値とバッファーの問題、フォーマット文字列の問題、および入力制限の問題に注意する必要があります。実際のプログラミングでは、これらのガイドラインに従い、必要に応じて適切な修正を行うよう注意してください。 scanf 関数を正しく使用することによってのみ、高品質で堅牢な C 言語プログラムをより適切に作成できます。

以上、C言語のscanf関数の正しい使い方をご紹介しましたので、ご参考になれば幸いです。読んでくれてありがとう!

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

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

キーボードでプラス記号とマイナス記号を入力する方法 キーボードでプラス記号とマイナス記号を入力する方法 Feb 19, 2024 pm 06:38 PM

キーボードでプラス記号とマイナス記号を入力するにはどうすればよいですか? 毎日コンピューターのキーボードを使用していると、プラス記号とマイナス記号を入力する必要がある状況によく遭遇します。プラス記号とマイナス記号は、数学や物理学などの分野で数値の符号を示すためによく使用されます。しかし、多くの人はキーボードでプラス記号とマイナス記号を入力する方法を知りません。以下では、この問題を解決するためによく使用されるいくつかの方法を紹介します。方法 1: キーボードの記号キーを使用する キーボードには、「プラスおよびマイナス キー」または「マイナス キー」とも呼ばれる「記号キー」と呼ばれるボタンがあります。このキーは通常キーボード上にあります

C言語では、kbhitはキーボードへの入力の有無を検出する関数を指します。 C言語では、kbhitはキーボードへの入力の有無を検出する関数を指します。 Sep 15, 2023 pm 05:35 PM

ここでは、C の kbhit 機能を見ていきます。 kbhit は基本的にキーボードのタップです。この関数は conio.h ヘッダー ファイルにあります。したがって、これを使用するには、このヘッダー ファイルをコードに含める必要があります。 kbhit() の機能は、キーが押されるとゼロ以外の値を返し、それ以外の場合はゼロを返すことです。例#include<stdio.h>#include<conio.h>main(){ Chach; printf("Enterkeys(ESCtoexit)&qu"

C言語のscanf関数の正しい使い方 C言語のscanf関数の正しい使い方 Feb 19, 2024 pm 06:04 PM

C 言語で scanf 関数を正しく使用する方法 はじめに: C 言語では、scanf 関数は一般的に使用される入力関数の 1 つで、ユーザーがキーボードからデータを入力できるようにします。ただし、scanf 関数の一部の機能と使用法には微妙な違いがあるため、問題が発生しやすい場合があります。この記事では、scanf関数の正しい使い方と注意点を具体的なコード例を交えて紹介します。 1. scanf 関数の基本的な使い方: scanf 関数の基本的な使い方は非常に簡単で、フォーマットワードを使用します。

チェックマークの入れ方 チェックマークの入れ方 Feb 19, 2024 pm 07:11 PM

チェックマークの入力方法 私たちは日常生活の中で、文書編集や表作成、記号作成などでチェックマークをよく使います。では、どうやって数字を入力すればいいのでしょうか?以下では、いくつかの一般的なチェックマークの印刷方法を詳しく紹介します。特殊文字の使用 文書編集ソフトウェアでは、特殊文字を入力してチェックマークを印刷できます。手順は次のとおりです。 a) Microsoft Word などの文書編集ソフトウェアを開きます。 b) マウス カーソルをクリックして、チェック マークを印刷する必要がある場所を見つけます。 c

実際に Go 言語の入力関数の効率を最適化する方法 実際に Go 言語の入力関数の効率を最適化する方法 Mar 27, 2024 pm 03:00 PM

タイトル: 実際に Go 言語の入力関数の効率を最適化する方法 Go 言語の日々の開発作業では、入力関数の効率がプログラム全体のパフォーマンスに影響を与えることがよくあります。この記事では、実際にGo言語の入力機能を効率化する方法を紹介し、具体的なコード例を通して最適化方法を解説します。適切な入力方法を選択する まず、実際のニーズに応じて適切な入力方法を選択する必要があります。通常、Go 言語での最も一般的な入力方法は、コマンド ライン パラメーターまたは標準入力を通じてデータを取得することです。入力方法を決定するときは、データを考慮する必要があります

キーボード入力の書式設定のために HTML で  タグを使用するにはどうすればよいですか? キーボード入力の書式設定のために HTML で タグを使用するにはどうすればよいですか? Aug 20, 2023 am 11:45 AM

&lt;kbd&gt;タグを使用してキーボード入力を定義します。これは、ユーザーのキーボード入力を表すテキストを識別するために使用されるフレーズタグです。内部のコンテンツは、ほとんどのブラウザでデフォルトの等幅フォントで表示されます。スタイルシートを使用してフォントを上書きできます。構文&lt;kbd&gt;キー

C言語における文字の読み書きとは、入出力関数を通じて文字データを読み書きすることを指します。 C言語における文字の読み書きとは、入出力関数を通じて文字データを読み書きすることを指します。 Sep 23, 2023 am 08:33 AM

C プログラミング言語では、文字の読み取りと書き込みのための関数は次のとおりです。最も単純なコンソール入出力関数は、キーボードから文字を読み取る getche() と、文字を画面に出力する putchar() です。 。 getche() 関数は、キーが押されるまで待機し、その値を返します。押されたキーも自動的に画面に表示されます。 putchar() 関数は、文字引数を画面の現在のカーソル位置に書き込みます。 getche() と putchar() の宣言は次のとおりです。 -intgetche(void);intputchar(intc);getche() および putchar(

C言語の入力関数とは何ですか? C言語の入力関数とは何ですか? Sep 01, 2020 am 09:27 AM

C 言語の入力関数には、1. 標準入力 stdin からフォーマットされた入力を読み取る scanf() 関数、2. 標準入力 stdin から文字を取得する getchar() 関数、3. フォーマットされた入力を読み取る getchar() 関数があります。標準入力 stdin からの入力 行の読み取り; 4. getch() 関数は stdin ストリームから文字列を読み取り、改行文字または EOF を受信すると停止します。

See all articles