EOFでプログラムが終了しないようにするには?

[戻る]
[E-Mail] [HomePage] 2000/01/09(日) 22:33:33
はじめまして、工業高校の教員です。
DOS/V機、Windows98、VC++(5.0)で、
C言語プログラム(MS-DOS)を動かしています。
while((c=getchar())!=EOF)で繰り返しを制御するのですが、
ctrl+zを押すと、while文の後の処理が無視され終了してしまいます。
原因などわかりましたら教えて下さい。以下、ソースです。
#include <stdio.h>
void main(void)
{
 int total = 0,cnt = 0;
 char c;
 while((c = getchar()) != EOF){
   total += c - '0';
   cnt++;
 }
 printf("Numb = %d Sum = %d\n",cnt,total); /*←ここです*/
}
以上、よろしくお願いいたします。

[E-Mail] [HomePage] 2000/01/09(日) 23:00:39
[[解決]]
自己レスです。
http://cgi.members.interq.or.jp/gold/marken/vc/old/
という掲示板で、0163番の書き込みに、
while文の後に、printf("\n\n");を入れればよいという解決法がありました。というわけで解決しました。

古いスレッドには追加発言できません。