documentation on scanfは、フォーマット中の "空白以外の文字"があれば、関数がストリームから次の文字を読み込み、空白以外の文字と比較し、一致した場合には破棄され、関数はformatの次の文字。 文字が一致しない場合、関数は失敗し、ストリームの後続の文字を戻して残します。scanfが空白以外の文字を含むドキュメントに続くのはなぜですか?
しかし、私が実行した場合:
1 2
それは出力します:以下の入力と
int x;
while(scanf("\n%d",&x)==1) printf("%d\n",x);
1
2
与えられたの前に何のは '\ n' がありませんことを2つの数字のうち、なぜscanfはそれらを読みますか?それはドキュメントとは違いますか?
改行は空白とみなされ、scanfによって無視されます。 –
scanfが空白文字をどのように扱うかについての部分を読みましたか? – user2357112
ありがとうございました。空白文字のセクションには、だけでなく、新しい行を含む「空白文字の文字」が含まれています。問題を解決済みにするにはどうすればよいですか? –