問題タブ [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.
c++ - getchar からの入力の読み取り
この方法で getchar を使用する必要があるときはいつでも、Enter も入力の 1 つとして受け入れるため、6 文字ではなく 3 文字しか入力できません。なぜ getchar は入力の 1 つとして入力を取るのですか? これを回避する方法は?
入力:
このループの後、押された 3 つのリターンは temp[1]、temp[3]、および temp[5] への 3 つの入力と見なされるためです。
c - 使用中のcのgetchar()
私はそれgetchar()
がキャラクターをバッファリングすることを知っています。このプログラムを実行してHello
Enterキーを押さずに文字を入力するとEOF
、なぜHello
再度印刷して新しい文字を要求するのですか?
c - putchar('0' + num); とは何ですか? 行う?
私はそのputchar('0' + r);
仕組みを理解しようとしています。以下の関数は整数を取り、それをバイナリに変換します。
putcharの定義をグーグルで検索しましたが、これは見つかりませんでした。それをテストするために、r の値を確認するために printf を追加しました。
そしてそれを実行し(5と入力)、次の出力を得ました:
r = 1 および putchar は 1 を出力
r = 0 および putchar は 0 を出力
r = 1 および putchar は 1 を出力
r=0 の場合はputchar('0' + r);
0 を出力し、r=1 の場合は 1 を出力するか、何か他のことが起こると思いますか?
c - コード putchar('/' //*/ 1) の意味を誰でも説明できますか
K&R2のエクササイズをしていました。このページhttp://clc-wiki.net/wiki/K%26R2_solutions:Chapter_1:Exercise_23で Ben Pfaff のコードを読んでいたとき 、単一のコード putchar('/' //*/ 1 ) 平均。私のコンパイラでは、構文エラーです。だから誰でも私にこれを説明できますか?
c - putcharのみを使用してcで整数を出力します
これは古い慣習であり、コードのどこで問題が発生したかを特定しようとしています: putchar のみを使用して整数を出力する ac プログラムを作成します。私はそれを行う正しい方法の1つを知っています:
なぜ私のやり方がうまくいかないのか知りたいのですが、ステップオーバーを使ってデバッグしようとしていたので、手順に問題はないように見えますが、コードは面白い文字を出力しています. putchar() が数値を ascii 値として読み取り、ascii 値に対応する文字を出力するためだと思いました。これが上記のコードで を使用している理由である可能性があるため、すべての putchar コードにputchar(n%10+'0')
追加しようとしましたが、'0'
正しく動作しません。だからここに私のコードと結果があります'0'
i=-123
c - getchar/putchar のみでユーザー入力を出力しようとしています
getchar/putchar のみを使用する単純な電卓を C で作成する必要があります。ユーザー入力をエコーしてから、数学演算を実行する必要があります (+、/、%、*、および - のみを使用する必要があります)。今のところ、値を入力変数に格納する限り、私は自分が間違っていることだけを気にしています。プログラムの残りの部分は、自分で簡単に実行できるはずです。
while ループでは、"else if" 内でのみ if/else を (主にエラー チェックの目的で) 入れ子にすることに注意しました。ループでスペースを無視してから、数値、数学演算子、およびその他の数値をそれぞれ input1、input2、および input3 に割り当てます。現在、「55 * 66」のようなものを入力すると、「* 0」のようなものが返されます。
ご覧いただきありがとうございます。
更新 (2014 年 3 月 22 日): 少し近づいています。私の問題は、各数値とオペランドの後に 1 つのスペースを入力した場合にのみプログラムが機能することです (つまり、「2 + 4」は機能しますが、スペースのないものや複数のスペースがあるものは機能しません)。また、数値を出力するために数値を入力する方法もよくわかりませんでした。私は printf を使用したので、その間に少なくとも動作するプログラムを作成できました。ありがとう。
c++ - getchar() または putchar() が入力の最初の文字を食べ続ける
編集:この質問は解決されました。すべての回答に感謝します
これは私のプログラムです:
実行するたびに正常に動作しますが、たとえばプログラムを実行すると、入力の最初の文字が消費され、出力は次のようになります。
「t」がありません。なぜそれが起こっているのですか?どうすれば修正できますか?
お時間をいただきありがとうございます。