第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

~scanf是什么意思,為什么scanf前加~

~scanf是什么意思,為什么scanf前加~

C
為什么老是要證明我是我 2017-10-06 23:10:08
查看完整描述

5 回答

?
onemoo

TA貢獻(xiàn)883條經(jīng)驗 獲得超454個贊

前面 望遠(yuǎn) 的回答說明的是這個代碼的意圖。

我想提醒下:這樣用取反 ~ 運算符來判斷是否為 EOF 的方法是不合適的!

很多人認(rèn)為 EOF 的值是 -1,在很多平臺上這個值也確實是 -1。但是,C 標(biāo)準(zhǔn)實際上只是規(guī)定 EOF 值為負(fù) int 值!并沒有說它一定是 -1!!

所以,有可能在某些平臺上 EOF 值并非 -1,這樣這個方法就無法判斷是否讀取到 EOF 了。


C 標(biāo)準(zhǔn)定義了一個宏 EOF 來表示 End Of File。所以推薦且安全的做法是用 EOF 來作比較:

scanf("%d?%d",&a,&b) == EOF


查看完整回答
1 反對 回復(fù) 2017-10-07
?
望遠(yuǎn)

TA貢獻(xiàn)1017條經(jīng)驗 獲得超1032個贊

scanf函數(shù)返回成功讀入的數(shù)據(jù)項數(shù),讀入數(shù)據(jù)時遇到了“文件結(jié)束”則返回EOF。
scanf("%d?%d",&a,&b);????
函數(shù)返回值為int型。如果a和b都被成功讀入,那么scanf的返回值就是2;
如果只有a被成功讀入,返回值為1;
如果a和b都未被成功讀入,返回值為0;
如果遇到錯誤或遇到end?of?file,返回值為EOF。end?of?file為Ctrl+z?或者Ctrl+d。
其中EOF的值為-1
也就是說scanf返回值的取值范圍是大于等于-1的整數(shù)只有返回值為EOF時?其取反的的值?即while循環(huán)的判斷條件才為0?才能結(jié)束循環(huán)
(-1的補碼表示全是1,按位取反后全是0,即為假)其它輸入情況下(無論是否輸入成功)?while循環(huán)的判斷條件為非0?即為真


查看完整回答
1 反對 回復(fù) 2017-10-07
?
Yellow2dong

TA貢獻(xiàn)2條經(jīng)驗 獲得超0個贊

貼代碼

查看完整回答
反對 回復(fù) 2017-10-07
?
xungeer29

TA貢獻(xiàn)46條經(jīng)驗 獲得超20個贊

看看檢測文件尾的內(nèi)容EOF

查看完整回答
反對 回復(fù) 2017-10-07
?
鬧鬧的女朋友

TA貢獻(xiàn)13條經(jīng)驗 獲得超4個贊

不懂你的意思

查看完整回答
反對 回復(fù) 2017-10-07
  • 5 回答
  • 0 關(guān)注
  • 5096 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號