>>738
EOF は文字ではありません。
ファイルが終了したり、コンソールで特定のキーが押されたときなど、すなわちストリームが終了したときに、getchar() などの関数の返り値が EOF = -1 になるというだけです。
そして、scanf() でストリームの終了を検知するには、scanf() の返り値をみればいいでしょう。
if (scanf("%s", name[i]) == EOF) { ... } で判断すればいいと思います。