は、私はEnterキーを押すまで、私はEOFとscanf関数の戻り値を比較しようとした数字を受信する必要があるが、それは(無限ループ)以上の数字を入力するように私を求め続けている:
EOFを使ってscanfループを終了するには?
int fail=0, late=0, avg=0, i=0, last=0, current, permission, difference;
while(scanf(" %d", ¤t) != EOF)
{
permission = (current < last);
difference = ((last - current) >= 30);
fail += difference*permission;
late += permission;
avg += (last - current)*(permission);
last = last*(permission) + current*(!permission);
}
任意の提案。
thanx
結局のところ、scanfが正常に読み取られた項目の数を返すので、無限ループを中断していることに注意してください(どのwoul dはゼロではない) – PALEN