問題に注意を払う必要がありscanf関数の入力を使用します
1のscanf( "%Cの%Cは %のC"、&C1、およびC2、およびC3)、 この機能を実行する際のスペースない3つの連続入力文字べきです。以下のようなスペースではなく、権利がある場合:ABC最初の文字は「」C1に、2番目の文字が空白文字「であるC3にB」「C2、3番目の文字を与えました」
ヒント:入力値、値が2つの値の間を区別するためにシステムを可能にするために、二つの空間(または他の区切り文字)との間に挿入する必要があります
ときに連続入力文字。(ときに、入力データの元の位置にこれらの文字を挿入するために、次に、scanf関数で書式文字列ない限り、一般的な文字)を2つの文字の間にスペースまたは他の区切り文字を挿入していない、システムは、2つの文字を区別することができます
2. 、Tabキー、または不正な文字の場合には(数字ではない)、このような空間に入るように、キャリッジリターンを数値データを入力する場合、データが完全であると考えられます。以下のような:
scanf関数( "%dの%Cは%のF"、&A、&B、&C)。
入力の場合1234 E 123 o.26
%D 1234入れて、システムなし数値データ12345ように、データは、最初のものが終了することが、入力1234の後に最初のデータ形式、文字遭遇「E」に対応し、「E」 Bを与えます。不注意場合は123o.26ラベル間違った1230.26をつけ、文字Oの出現の背後にある123は、数値データは、この目的のために考えられて、変数への123 Cは、次の数文字を読み取ることがありません。
3.scanf( "%の[^ \ n]は"、&A);
これは、1つの行を読み込み、文字列を表します。
^手段は「非」、[^ \ n]が改行文字が読み終わりに読み込まれる表します。
scanf関数scanf関数で* 4つの戻り値の使用方法と使用。
https://www.dotcpp.com/wp/786.html
文字列の代わりに、単一の文字入力GETCHAR使用してください。
GETCHAR機能、C言語の標準ライブラリの関数で、stdioのヘッダファイルは、プレーンテキストでユーザーが入力した文字、キャリッジの終わりを、受け入れることができます。次のように通知し、例を示します。
注意:最初の行は、私は2番目の行はprintfの出力で入力されます!