問題: 2 つの空白が連続して発生することを識別できるようにする必要があります。
次の質問を読みました。
そして、私はscanfの問題を認識しています: http://c-faq.com/stdio/scanfprobs.html
入力は次の形式になります。
1 5 3 2 4 6 2 1 9 0
2 つの空白は、次のデータ セットを処理してそれ自体と比較する必要があることを示します。線の長さは不明であり、各グループの数または整数は不明です。次のデータ セットを区切るには、2 つの空白が最も多くなります。
fgets とさまざまな組み込み関数を使用してこの問題を解決できますが、この時点で scanf を使用して問題を解決する方が簡単になる可能性があります。ただし、そうでない場合は、fgets、strtok、atoi を使用するとほとんどの作業を実行できますが、それでも 2 つの空白が連続して識別される必要があります。
以下は、非整数が入力されるまで整数を取ります。
while ( scanf ( "%d", &x ) == 1 )
私が必要とするのは、空白も読み取ることです.2つの連続した空白がある場合は、次のデータセットで何か違うことをするようにプログラムします.
そして、空白を取得すると、次のように言う方法がわかりません。
if ((input == "空白") && (previousInput == "空白")) やだやだ else (input == "空白") やだやだ そうしないと やだやだ
お時間をいただき、ありがとうございます。
得られた教訓: scanf の解決策が Jonathan Leffler によって以下に投稿されていますが、getc を使用した場合の解決策はもう少し簡単でした (内部の scanf、正規表現、および char に関する詳細な知識は必要ありません)。振り返ってみると、正規表現、scanf、および char についての知識が深まり、問題が解決しやすくなり、もちろん、どの関数が利用可能で、どの関数を最初から使用するのが最適であったかがわかります。