Whileとif

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
Kento

Whileとif

#1

投稿記事 by Kento » 14年前

こんばんわ。
今回「新・ゲームプログラミング館」の1.5章「特定のキーの入力状態を監視する」というところの・・・・・

ウィンドウの×ボタンが押されたらプログラムを終了するようにするところなんですが、

コード:

while( 1 ){
                if( ProcessMessage() != 0 ){
                        break;
                }
        }
の部分がそこに関係あるようなんですが、よく分かりません。
このような文を書くとなぜ×を押すとプログラムが終了するのでしょうか?


また、whileとif文の組み合わせについても教えてくださるとうれしいです。

アバター
h2so5
副管理人
記事: 2212
登録日時: 14年前
住所: 東京
連絡を取る:

Re: Whileとif

#2

投稿記事 by h2so5 » 14年前

ProcessMessage() はウィンドウが閉じられた場合、-1を返します。

その場合break;によってwhileループから強制的に抜けるため、
main関数の最後に到達し、プログラムが終了します。

naohiro19
記事: 256
登録日時: 14年前
住所: 愛知県

Re: Whileとif

#3

投稿記事 by naohiro19 » 14年前

このif文はProcessMessageの「戻り値が0以外の時にループを抜ける」という条件です。
ProcessMessageが0の時はループを抜けません

Kento

なるほど

#4

投稿記事 by Kento » 14年前

そういうことだったんですね。

返事遅くなってすみません。
疑問が解決してよかったです

閉鎖

“C言語何でも質問掲示板” へ戻る