double temp=11.5;isdigit(temp)? 是true還是false?
2 回答
已采納

望遠(yuǎn)
TA貢獻(xiàn)1017條經(jīng)驗(yàn) 獲得超1032個(gè)贊
isdigit函數(shù)有參數(shù)為double類型的重載嗎?
int isdigit(char c)-->檢查參數(shù)是否為十進(jìn)制數(shù)字字符

onemoo
TA貢獻(xiàn)883條經(jīng)驗(yàn) 獲得超454個(gè)贊
應(yīng)該是 false
isdigit 的參數(shù)是 int 類型,返回類型也是 int。 但其實(shí)這個(gè)函數(shù)是判斷參數(shù)值所表示的字符是否為數(shù)字字符,所以它只在參數(shù)可以表示為字符的時(shí)候才能正常工作。 如果判斷不是數(shù)字則返回 0。
你這里實(shí)際傳入的參數(shù)是 double 類型。但是沒關(guān)系,實(shí)參傳入形參時(shí)可以發(fā)生自動(dòng)轉(zhuǎn)型。那么形參實(shí)際接收到 int 值 11。 而 11 通常并不表示數(shù)字字符(比如在ASCII中就不表示為數(shù)字),所以會(huì)返回 0。
如果問是否為 false 的話,那么 0 表示 false。
- 2 回答
- 0 關(guān)注
- 2394 瀏覽
添加回答
舉報(bào)
0/150
提交
取消