- ベストアンサー
簡単なscanf文が、わかりません。
#include <stdio.h> int main(void) { int data; scanf("%d",&data); /*入力部分*/ printf("%d\n",data); return 0; } 参考書には、キーで入力、enterキー押すと、はじめて文字が画面に表示されるとなってましたが。 実際は、enter押さずに、キーボードでキー入力した時点で文字が表示されますが、 どこが間違っているんでしょうか? コンパイラは、 Borland C++ Compiler です。 お願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
キーを押して表示されたのは、所謂エコーバック文字でしょう。 まさかエコーバックなしでは使いにくいでしょう? 但し、一般的な環境では確かにEnterキーを押さないと入力が 有効にならないことは参考書のとおりでしょう。 尚、そのscanf()の入力待ちでアルファベットなどを入力するとdataに正しく入力できないのでご用心。
その他の回答 (1)
- kamejiro
- ベストアンサー率28% (136/479)
>参考書には、キーで入力、enterキー押すと、はじめて文字が画面に表示されるとなってましたが。 こちらは、scanf文で入力された値をprintf文で画面表示することを言っているのだと思います。 >実際は、enter押さずに、キーボードでキー入力した時点で文字が表示されますが、 scanf文でキー入力した値が画面に表示されないと入力誤りかどうかも判断できません。 ゆえに入力した値そのものをそのまま画面に表示しているのだと思います。
お礼
すばやい回答ありがとうございます。 表示された文字は、入力が誤りかどうかを判断するための物だったんですね。 ありがとうございました。
お礼
すばやい回答ありがとうございます。 エコーバック文字と言うのが勉強になりました。 文字入力すると、基本的にエラーなんですね。 ありがとうございました。