#16781: 這樣為何不行??


SUB2PEWDIEPIE (SUB2PEWDIEPIE)


#include <stdio.h>
#include <stdlib.h>

int main()
{
int a =0;
int b =0;

while(a!=EOF && b!=EOF)
{scanf("%d", &a);
scanf("%d", &b);
printf("%d \n", a+b);
} return 0;
}

#16782: Re:這樣為何不行??


freedom501999@gmail.com (帥氣魔方生)


 

EOF 意思是檔案結尾,C/C++ 裡 EOF 的值是 -1

你這樣跑迴圈就等同於 a 不等於 -1 且 b 不等於 -1

那讀完測資後一定會繼續跑進迴圈,然後等待不存在的 a 值輸入,就會 TLE

改成 while ( scanf ( "%d, %d" , &a , &b ) != EOF ) 才對