C言語のHelloWorldについて

よく入門サイトで見かけるHelloWorldはこれ。

#include <stdio.h>
int main(){
    printf("HelloWorld");
    return 0;
}

でもこれ、実行したらウィンドウが開いて一瞬で閉じられてしまうんですよ。
初心者の私はここでつまずきました。(諦めそうになりました)
そこでこれを入れましょう。

getchar();

このgetcharという関数はstdio.hで定義されているのでまた新しいファイルをインクルードする必要はありません。楽チン。
最終的にソースはこんなカタチになるんですね。

#include <stdio.h>
int main(){
    printf("HelloWorld");
    getchar();
    return 0;
}

これを実行するとウィンドウが開いて HelloWorld が表示されます。さっきと違うのはここでウィンドウが閉じられないところです。キーボードのボタン(どれでもいい)を押すと return 0 が実行されウィンドウが閉じられます( = プログラムを終了する)。

getchar という関数はその場でプログラムの進行を止めてくれる便利な関数です。と言うと簡単なんですが、本当は違います。getchar はキーボードのボタンが押されるまでプログラムの実行を止め、押されたならばそのキーボードの値を返すという2つの役割を持つ関数です。ここではプログラムの進行を止めるためだけに使っています。

C言語 入門」で検索をかけて出てきたサイトのソースで、printf(~) で計算結果を表示させて、直後に return文が書かれている、というのをよく見かけます。よく見かけるというか getchar 挟んでいるのを私は見たことがないです。
Visual Studio Express 2012 を私は使っていますが、何でしょうか、環境によって return文の前で止まったりするんですかね?よくわかりません。

[追記]

デバッグなしで開始」がありました。こうすることで「続行するには何かキーを押してください . . . 」が末尾に挿入されてキーボード入力待ちになるんですね。getchar いらず。
でもF5キーを押してパッと実行させたいのでやはり getchar は有効ではないかと思います。Releaseビルドで特に有効ですね。