問題タブ [putchar]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
123 参照

printf - Cでgetchar関数とputchar関数を使用するには?

したがって、私のコードは単語を読み取り、それをユーザーのバックワードに表示します。これは私が持っているものです:

scanf と printf を使用する代わりに、getchar と putchar を使用するにはどうすればよいですか?

0 投票する
2 に答える
244 参照

c - K&R book 1.5.1 ファイルのコピー

この K&R の例に関するサイトを見回したところ、答えは「なぜこれは int 型なのか、それとも EOF なのか?」を中心に展開しているようです。ちょっとみんな。私はそれらを理解していると信じています。よく分からない結果です。私は、このコードが 1 文字を取り、それを出力してから、別の文字または EOF を待つことを期待していました。

私が見る結果は、リターンを押すまで入力を待っていることです。その後、入力したすべてが表示され、さらに入力を待っています。

テキストストリームをcarrage returnで終了し、putchar(c)がどこかに隠れているかを表示するまで、whileループは単に「ループ」していますか?

コードは次のとおりです。

ここで、while の直前の行の前に putchar(c) をこっそり入力すると、期待どおりの結果が得られます。テキスト ストリームを入力して Return キーを押す必要があります。結果はストリームの最初の文字になり、プログラムは終了します。

明らかに、私が行っている大きな絵のギャップがあります。

ご協力ありがとうございました

0 投票する
0 に答える
461 参照

c - getchar() が行全体を読み取るのはなぜですか?

プログラムのサンプルは次のとおりです。

私の質問は、ここの流れは一体どのように機能するのでしょうか? プログラムがたどったパスを理解できないようです。char変数は魔法のように配列になりますか? putchar()入力された最初の文字ではなく、行全体を印刷するのはどうですか? 1 つの文字を取得して出力するはずのものが、switch ステートメントで文字を変更しながら、1 行全体の文字を読み取って出力するのはどのように正確ですか? 入力されたときにそれぞれをテストcharしますか?しかし、文字列はどのように文字列として出力されるのでしょうか?

編集: いくつかの調査を行ったところ、キーボード バッファーについて読みましたが、これが混乱の原因のようです。私の知る限り、単一の文字を受け取り、出力しますgetchar()putchar()が戻ってくると、ループが次の「バッファリングされた」文字を継続的に要求することを認識していますが、getchar()取得する必要があることに少し混乱していますが、さらに混乱しているのはputchar(). ループの最後で、それが壊れて条件に移行すると、その1つの文字が出力され、ループが実行されるたびに残りの文字が1つずつ出力されますか? 新しい行が読み取られた時点でループを停止するだけですか? もしそうなら、以前に印刷されたものだけが画面に表示されますか? その場合、印刷された文字は実行ごとに隣り合って印刷され、文字列のような錯覚を与えますか? これについて確認が必要です。また、いつchar廃棄されて交換されますか? 印刷後?そして、バッファ キューのどの行でnextchar を受け取りますか?

0 投票する
1 に答える
42 参照

c - 文字配列は、C で 5 つではなく 3 つの入力を読み取りますか?

私のコードは以下のとおりです

出力は次のとおりです。

なぜこうなった?5文字を読み取って大文字に変換することでした。

0 投票する
1 に答える
83 参照

c - 関数 putchar および getchar

これらの関数がどのように機能するかを理解するのを手伝ってくれる人はいますか? コードには、 while ループ
がある場合とない場合の 2 つの部分があります。

二つ目は


問題は、最初のものは適切に機能し、2 番目のものは取得したすべての文字を返すことです (たとえば、入力が2222の場合、関数は2222を返します)。なぜ2を返さなかったのですか?

0 投票する
1 に答える
90 参照

c - C で char に整数を追加する

私は K&R の本から C を学んでいます。本の中のタスクに対する提案された解決策をオンラインで見つけました。タスクと提案された答えはここにあります (そのページの最後の解決策) http://clc-wiki.net/ wiki/K%26R2_solutions:Chapter_1:Exercise_13

このコード行がある場所:

たとえば、関数 MIN が 2 を返した場合、それを '\260' に追加します。

int を char に追加するこの方法は何ですか? この「\260」の値は何ですか?