while(scanf("%s", &str[i++][0]) != EOF)
;

2次元配列を用意し、そこにEOFになるまで入力させるプログラムを書こうと思ったのですが、
VisualC++6.0でコンパイルするとEOFを検知できません。
Ctrl-dを押してもwhileループから抜けられません。
ちなみにVisualStudio.NETでも同じ結果でした。
しかし、Linux上のGCCではうまくいくのです。
なにがいけないのでしょうか。