[問題]請問while(scanf("%d",&sec)!=0)的問題?
請問各位下面這兩個簡單的程式為什麼預期結果會不一樣
#include <stdio.h>
const int S_PER_M=60;
const int S_PER_H=3600;
const double M_PER_K=0.6213;
int main(int argc, char **argv)
{
int sec;
while(scanf("%d",&sec)!=0)
{
printf("FFF\n");
fflush(stdin);
scanf("%d",&sec);
}
printf("Ending\n");
return 0;
}
上面這個程式我不管怎麼按"0"都不會跳出while
但是下面這個卻可以
#include <stdio.h>
const int S_PER_M=60;
const int S_PER_H=3600;
const double M_PER_K=0.6213;
int main(int argc, char **argv)
{
int sec;
scanf("%d",&sec);
while(sec!=0)
{
printf("FFF\n");
fflush(stdin);
scanf("%d",&sec);
}
printf("Ending\n");
return 0;
}
請問while(scanf("%d",&sec)!=0) 這樣寫有什麼不對嗎???
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.204.100.59
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1518716510.A.F19.html
推
02/16 01:55,
6年前
, 1F
02/16 01:55, 1F
→
02/16 01:58,
6年前
, 2F
02/16 01:58, 2F
推
02/16 01:59,
6年前
, 3F
02/16 01:59, 3F
推
02/16 02:46,
6年前
, 4F
02/16 02:46, 4F
→
02/16 02:46,
6年前
, 5F
02/16 02:46, 5F
推
02/16 11:39,
6年前
, 6F
02/16 11:39, 6F
→
02/16 11:39,
6年前
, 7F
02/16 11:39, 7F
推
02/16 16:29,
6年前
, 8F
02/16 16:29, 8F
→
02/16 16:29,
6年前
, 9F
02/16 16:29, 9F
推
02/17 11:44,
6年前
, 10F
02/17 11:44, 10F
推
02/17 12:42,
6年前
, 11F
02/17 12:42, 11F
→
02/17 13:18,
6年前
, 12F
02/17 13:18, 12F
→
02/17 13:19,
6年前
, 13F
02/17 13:19, 13F
→
02/17 13:19,
6年前
, 14F
02/17 13:19, 14F
→
02/17 15:40,
6年前
, 15F
02/17 15:40, 15F
→
02/19 09:44,
6年前
, 16F
02/19 09:44, 16F
→
02/19 22:08,
6年前
, 17F
02/19 22:08, 17F