• ベストアンサー

Visual Stadio でのC言語ですが

すごい初歩的な質問で申し訳ないのですが 画面にabcdeと表示させるときに通常のコンパイラーだと getchar();と入れなくてもいいのですが VisualStdioだと、これを入れないとコンソール表示をしてくれません。 どうしてなのでしょうか? 決まりといわれてしまえばそれまでなのですが・・・ #include<stdio.h> int main(void) { printf("abcde\n"); getchar(); return 0; }

質問者が選んだベストアンサー

  • ベストアンサー
  • zwi
  • ベストアンサー率56% (730/1282)
回答No.1

それは、「デバッグ開始(F5)」をしている為だと思われます。コンソールがプログラムが終了直後に閉じてしまうので一瞬で表示が終了してしまいます。 「デバッグなしで開始(Ctrl+F5)」を選ぶと大丈夫ですよ。

tk516ncb
質問者

お礼

ありがとうございます。 確かに一瞬画面が表示されています。 普通にスタート(再生ボタンのようなもの)をそのまま押していたので デバックなしで開始をやってみたらうまくいきました。

すると、全ての回答が全文表示されます。

その他の回答 (5)

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.6

>getchar() はなぜ一時停止になるのでしょうか? キーボードから一文字を受け取るための関数です。 コンソールを出したまま文字の入力待ちするのでポーズになります。

すると、全ての回答が全文表示されます。
  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.5

> getchar() はなぜ一時停止になるのでしょうか? 標準入力(通常はキーボード)から1文字の入力を受け取るからです。 入力がない場合は入力されるまで待機するので、一時停止しているように見えます。 > >コンパイルした実行ファイルをダブルクリックで実行する > この部分がいまいち分からないのですが補足していただければありがたいです。 正常にコンパイルできると、exeファイルが作成されているはずです。 コンソールアプリをエクスプローラなどから実行すると 出力の為にコンソールが開きます。(DOS窓、コマンドプロンプトなど) Windowsアプリの場合はコンソールではなくウィンドウが表示されることになります。 (不可視なウィンドウだったり、そもそもウィンドウを表示させないというのもある)

すると、全ての回答が全文表示されます。
  • koko_u_
  • ベストアンサー率18% (459/2509)
回答No.4

>ただ、本に書いてあったのを打ってみただけだったのですが その本に何の説明もなくそう書いてあるのであれば、もっとマトモな参考書を探して下さい。

tk516ncb
質問者

お礼

本自体の評判は悪くなかったみたいなのですが・・・林さんのです (あくまでアマゾン評価ですが) Visual Stadioでの説明は冒頭1ページ程度しか割かれていなく(しかもあくまで画面のソースを見てみて、Visual Stadioだとこんな画面ですよーっていう導入の説明だったためですかねぇ、超初心者用だったので)、コンパイラをコマンドプロンプトで動かすというのを基本においていた説明だったとも思われます。

すると、全ての回答が全文表示されます。
  • borazu
  • ベストアンサー率53% (8/15)
回答No.3

コンパイルした実行ファイルをダブルクリックで実行するので わざと getchar()関数を使用することによって、コンソールが一瞬で消えるのを防いでるだけなのではないでしょうか。 win2000,xpならコマンドプロンプト、win95, 98, MeならMS-DOSからコンパイルしたプログラムを実行してやれば問題ないと思います。

tk516ncb
質問者

お礼

ありがとうございます。 確かに、コマンドプロンプトを使えばいいですよね。 学校で知ってそうな人に聞いてみます。 ちょっと使い方がいまいち分からなかったので、 そのままVisual Stadioの機能を使っていました。 >コンパイルした実行ファイルをダブルクリックで実行する この部分がいまいち分からないのですが補足していただければありがたいです。

すると、全ての回答が全文表示されます。
  • koko_u_
  • ベストアンサー率18% (459/2509)
回答No.2

getchar() は標準入力から文字を受けとるだけですが。 もしかして一時停止するために使ってるのかな?

tk516ncb
質問者

お礼

ありがとうございます。 getchar() はなぜ一時停止になるのでしょうか? ただ、本に書いてあったのを打ってみただけだったのですが

すると、全ての回答が全文表示されます。

関連するQ&A