ページ 11

C言語のHello, Worldプログラムが一瞬で終わってしまいます。

Posted: 2012年8月15日(水) 14:15
by エレジー
環境
Windows 7
Visual C++ 2010

C言語を勉強しなおそうと思って、とあるサイトにあるように

コード:

#include <stdio.h>

int main(void)
{
	printf( "Hello, World\n" );

	return 0;
}
と書いて、コンパイルしたところ、一瞬だけ黒いウィンドウが出て、すぐに消えてしまいます。

'Ctest.exe': 'C:\Users\ROUS\Documents\Visual Studio 2010\Projects\Ctest\Debug\Ctest.exe' を読み込みました。シンボルが読み込まれました。
'Ctest.exe': 'C:\Windows\SysWOW64\ntdll.dll' を読み込みました。Cannot find or open the PDB file
'Ctest.exe': 'C:\Windows\SysWOW64\kernel32.dll' を読み込みました。Cannot find or open the PDB file
'Ctest.exe': 'C:\Windows\SysWOW64\KernelBase.dll' を読み込みました。Cannot find or open the PDB file
'Ctest.exe': 'C:\Program Files\AVAST Software\Avast\snxhk.dll' を読み込みました。Cannot find or open the PDB file
'Ctest.exe': 'C:\Windows\SysWOW64\msvcr100d.dll' を読み込みました。シンボルが読み込まれました。
プログラム '[1108] Ctest.exe: ネイティブ' はコード 0 (0x0) で終了しました。
と出ます。

まさかこんなところで詰まると思っていなかったので、困っています。
よろしくお願いします。

Re: C言語のHello, Worldプログラムが一瞬で終わってしまいます。

Posted: 2012年8月15日(水) 14:27
by softya(ソフト屋)
VC++の場合はプログラムが終了すると自動的にコンソールウィンドウが閉じるのは実は仕様です。
CTRL+F5(デバッグなしで開始)するか、デバッガのブレークポイントを使ってreturnで止めてください。

Re: C言語のHello, Worldプログラムが一瞬で終わってしまいます。

Posted: 2012年8月15日(水) 14:42
by みけCAT
Dev-C++を使ってみてください。
最新版なら終了時に実行を止める機能がついています。
http://orwelldevcpp.blogspot.jp/

Re: C言語のHello, Worldプログラムが一瞬で終わってしまいます。

Posted: 2012年8月15日(水) 14:54
by dom
プロジェクトのプロパティ⇒構成プロパティ⇒リンカー⇒システム
の「サブシステム」の項目をコンソールにしてみてはどうですか?

Re: C言語のHello, Worldプログラムが一瞬で終わってしまいます。

Posted: 2012年8月15日(水) 22:53
by Loki

コード:

#include <stdio.h>
int main(void){
     printf("Hello, World\n");
     getchar();
     return 0;
}
stdio.hを読み込んでるときはこんな風にしてます。
いいのか悪いのかはよく分かりませんが……

Re: C言語のHello, Worldプログラムが一瞬で終わってしまいます。

Posted: 2012年8月15日(水) 23:07
by nil
よく使われる手では

コード:

#include <stdio.h>
int main(void){
     printf("Hello, World\n");
     while(1){}
     return 0;
}
なんていうのもあります

Re: C言語のHello, Worldプログラムが一瞬で終わってしまいます。

Posted: 2012年8月16日(木) 01:15
by 埴輪
自分も、ぴよぴよさんの仰るような感じにしております。
ただ、これだけだと、実行中にEnterキーを押していたりすると、
getchar()を一瞬で通過してしまうので、

コード:

#include <stdio.h>
int main(void)
{
     printf("Hello, World\n");
     fflush(stdin);
     getchar();
     return 0;
}
どちらにせよVisual C++.netでは警告が出ますが・・・(汗

Re: C言語のHello, Worldプログラムが一瞬で終わってしまいます。

Posted: 2012年8月20日(月) 17:27
by エレジー
CTRL+F5でやることで解決しました。
ありがとうございました。