以下面代碼爲例,正確的判斷方式有:
scanf("%d-%d-%d", &year, &month, &day) != EOF
scanf("%d-%d-%d", &year, &month, &day) == 3
或
~scanf("%d-%d-%d", &year, &month, &day)
最後這個是利用了EOF等於-1這一特徵,寫起來短一點。效果等同於第一個。
(出自 http://bbs.bccn.net/thread-461366-1-1.html)
(出自 http://bbs.bccn.net/thread-461366-1-1.html)