ホームページ  >  記事  >  バックエンド開発  >  C言語でscanfを使って文字列を入力する方法

C言語でscanfを使って文字列を入力する方法

醉折花枝作酒筹
醉折花枝作酒筹オリジナル
2021-04-16 11:41:4436721ブラウズ

C言語では、「scanf("フォーマット制御文字列"、変数メモリアドレス)」文を使用して文字列を入力できます。 scanf() 関数の最初のパラメータはフォーマット文字列で、入力フォーマットを指定し、フォーマット指定子に従って入力の対応する位置情報を解析し、変数パラメータ リスト内の対応するポインタが指す位置に格納します。

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

scanf 関数の一般形式

scanf 関数は標準ライブラリ関数であり、その関数プロトタイプはヘッダー ファイル "stdio.h" にあります。 printf 関数と同様に、C 言語では、scanf 関数を使用する前に stdio.h ファイルをインクルードしないこともできます。 scanf 関数の一般的な形式は次のとおりです。

scanf(“格式控制字符串”, 地址表列);

このうち、書式制御文字列は printf 関数と同じ機能を持ちますが、非書式文字列、つまりプロンプト文字列を表示することはできません。各変数のアドレスは、アドレス テーブルの列に示されています。アドレスは、アドレス演算子「&」とその後に続く変数名で構成されます。

例: &a と &b はそれぞれ変数 a と変数 b のアドレスを表します。

このアドレスは、コンパイル システムによってメモリ内の変数 a および b に割り当てられるアドレスです。 C言語では他の言語と異なりアドレスという概念が使われます。変数値と変数アドレスという 2 つの異なる概念を区別する必要があります。変数のアドレスは C コンパイル システムによって割り当てられるため、ユーザーは特定のアドレスを気にする必要はありません。

変数のアドレスと変数値の関係

次のような代入式で変数に値を代入します。 a=567;

a は変数名、567 は変数の値、&a は変数 a のアドレスです。

しかし、代入番号の左側は変数名であり、アドレスを書くことはできません。scanf 関数は基本的に変数に値を代入しますが、変数のアドレスを書き込む必要があります。など。両者は形状が異なります。 & はアドレス取得演算子で、&a は変数のアドレスを検索する機能を持つ式です。

#include <stdio.h>
int main(void){
    int a,b,c;
    printf("input a,b,c\n");
    scanf("%d%d%d",&a,&b,&c);
    printf("a=%d,b=%d,c=%d",a,b,c);
    return 0;
}

この例では、scanf 関数自体はプロンプト文字列を表示できないため、最初に printf ステートメントを使用してプロンプトを画面に出力し、ユーザーに a、 b、およびc。 scanf ステートメントを実行し、ユーザーの入力を待ちます。 scanf ステートメントのフォーマット文字列では、入力間隔として「%d%d%d」の間に非フォーマット文字がありません。そのため、2 つの入力間の入力間隔として複数のスペースまたは Enter キーを使用する必要があります。数値、間隔。例:

7 8 9

または
7
8
9

推奨チュートリアル: "

C

#"

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

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