アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話になっております。
現在C言語を学習している者です。
scanfでキーボードから読み取った数値をコンソール画面に出したいのですが
うまくいっていません。ご教授いただけたら幸いです。
現在開発環境はvisual studio community 2015を使用しています。
コードは以下です。
ーーーーーーーーーー
#include <stdio.h>

int main(void) {
int num;
printf("数値を入力してね→");
scanf("%d", &num);
printf("読み取った数値は→%d",num);
getchar();

return 0;
}
ーーーーーーーーーー



結果は以下です。
ーーーーーーーーーー
数値を入力してね→(キーボードに入力した数値がここに出る。)
ーーーーーーーーーー


「読み取った数値は→」という部分がコンソール画面に出ずに困っています。
何かおかしな点はありますでしょうか。
ご回答いただけますと幸いです。

A 回答 (5件)

プログラムが終了した後でもコンソール画面は開いたままですか?


もしかして、プログラムが終了した後にコンソールが閉じてしまって結果が見えていないだけではありませんか?
    • good
    • 0

scanf("%d", &num);


で、数値は入力されていますが、
最後の改行がバッファに残っているのでは?

getchar() は、二つくらいいるのでは?
    • good
    • 0

考えられることは.


○バッファリングを使用しているために、実際の出力が行なわれていない。
詳しくは↓等を参考に。
https://programming-place.net/ppp/contents/c/043 …

解決策
1. printf で行末の改行を出力させる。
 行バッファの場合は、これで実際の出力が行なわれる。
2. fflush(stdout);で強制的に出力させる。
3.setbuf setvbuf で、バッファ無しに設定しておく。
    • good
    • 1

getchar();は何のため?。



「読み取った数値は→」はおそらく表示しているが読めないうちに終了している。
    • good
    • 1
この回答へのお礼

ご回答ありがとうございました。
確かに意味のない表記でした。
ですが、getchar();の位置を変えたり除いても
同様の動きになります。
もう少し調べたいと思います。
ありがとうございました。

お礼日時:2020/04/27 17:53

エンターキー押しました?

    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
エンターキー押しました!
ビルドが終了し、コンソール画面が閉じてしまいます。

お礼日時:2020/04/27 17:14

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!