它們不是一樣的么??為什么在hdu上用while(~scanf("%d%d",&n,&m))的結(jié)果是0_0_10758670_8400.c0_0_10758670_8400.c(23) : fatal error C1075: 與左側(cè)的 大括號(hào)“{”(位于“0_0_10758670_8400.c(3)”)匹配之前遇到文件結(jié)束但是換成while(scanf("%d%d",&n,&m)!=EOF)就對(duì)了?
2 回答

慕標(biāo)琳琳
TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超9個(gè)贊
如:
scanf("%d,%d", &a, &b);
如果a和b都被成功讀入,那么scanf的返回值就是2
如果只有a被成功讀入,返回值為1
如果a和b都未被成功讀入,返回值為0
如果遇到錯(cuò)誤或遇到end of file,返回值為EOF。
你上邊的兩個(gè)都是看返回值來(lái)判斷的 至于while(~scanf("%d",&n)) 沒(méi)用過(guò)
t>>=1 即t = t >> 1 右移一位 再賦值

繁星點(diǎn)點(diǎn)滴滴
TA貢獻(xiàn)1803條經(jīng)驗(yàn) 獲得超3個(gè)贊
按照
scanf("%d,%d", &a, &b); 的定義來(lái)講,也應(yīng)該是相等。
只有 返回值為EOF 的時(shí)候 ~EOF 才能為0 其余 都不會(huì)。
- 2 回答
- 0 關(guān)注
- 494 瀏覽
添加回答
舉報(bào)
0/150
提交
取消