問題タブ [getchar]
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ます。
基本的には、 Entergetchar()
キーを押してから 1 文字を読み取るのを待っています。
この関数が読み取っている単一の文字は何ですか? 読み取るためにキーボードからキーを押しませんでした。
何も読み取っていないのに、「ねえ、あなたは私が読むために何も入力していません」というエラーが表示されないのはなぜですか?
c - この getchar() ループは、1 文字入力した後に停止するのはなぜですか?
私の入力はf
(もちろんエンターが続きます)です。getchar()
もう一度入力を求めると思いますが、代わりにプログラムが終了します。どうして?どうすればこれを修正できますか?
c - getchar() は scanf("%c") と同等で、putchar() は printf("%c") と同等ですか?
とa = getchar()
同等scanf("%c",&a);
ですか?
where is a variable?とputchar(a)
同等です。printf("%c",a);
a
char
c - Visual Studio C コンパイラでこの例外がスローされるのはなぜですか?
私はより熟達し、C プログラミングをしようとしています。文字を取得しているループ内で、入力ストリームから文字を表示することをテストしようとしていました。getchar
メソッドを使用しています。
printf
コード内のステートメントが存在するときに例外がスローされます。(この関数の行をコメントアウトするprintf
と、例外はスローされません)。
例外: firstOS.exe の 0x611c91ad (msvcr90d.dll) で未処理の例外: 0xC0000005: アクセス違反の読み取り場所 0x00002573。
これがコードです...何か考えはありますか?ありがとうございました。
PS。図書館を利用していstdio.h
ます。
}
c - 標準入力から文字を読み取るためのgetc対getchar対Scanf
以下の3つの機能のうち:
getc getchar & scanf
標準入力から文字を読み取るのに最適なものはどれですか?その理由は?
これらの機能のいずれかを他の機能よりも優れたものにする既知の欠点や制限はありますか?
c - while ループで getchar() を使用する
ここで、入力文字ごとに printf() メソッドが 2 回呼び出されるのはなぜですか?
入力「a」を与えると、次のような結果が得られます
すべての入力で同じことが起こります。
c - このCプログラムが出力に奇妙な文字を出力するのはなぜですか?
私は次のプログラムを持っています:
何を入力しても、次のようになります。
なぜこれが起こっているのですか、そして私が見るその奇妙な文字は何ですか?
Stackoverflowは奇妙な文字を出力していません。あなたはここでそれを見ることができます:http://ideone.com/EfZHr
c - C getchar と scanf
私が研究している関数で見つかったコードの一部に混乱しています。
ここでよくわからないのは、Flush()
関数の使用法です。つまり、私が読んでいる本では、ユーザーが複数の文字を入力するのを防ぎ、2 回目に入力を求められたときにその文字を読み取らせると説明しています。
私が理解していないのはFlush()
、これがどのように防止されているかです。それは何もしません。それはすべてwhile
コマンドです。(これは本当ですが...何?????) 意味がありません。
c - getchar() を使用した文字列入力
次のコードは、getchar() を使用して入力行を受け入れます。
入力中にバックスペースを押すと、getchar() によって受信され、rawString が指す場所に保存されるべきではありませんか? ただし、出力には、特殊文字を含まない最終的な文字列が表示されます。誰かが理由を説明できますか?
c - `getchar()`は入力文字列と同じ出力を提供します
K&Rで言及されているを使用するプログラムに混乱していますgetchar()
。入力文字列と同じ出力が得られます。
なぜ文字列全体を印刷するのですか?文字を読み取って、もう一度入力を求めることを期待します。
また、入力するすべての文字列はEOFで終了しますか?