#include <iostream>#include <string>#include <cctype>using namespace std;int main(){int i=5;if(!isdigit(i)){cout<<!isdigit(i)<<endl;}cin.get();return 0;}
2 回答

RISEBY
TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超5個(gè)贊
int isdigit(char c);
注意這里的參數(shù)是char,而不是int
其實(shí)char類(lèi)型就是對(duì)應(yīng)的ASCII碼的,所以這里相當(dāng)于是調(diào)用isdigit(5),對(duì)應(yīng)ascii碼,5不是數(shù)字,所以這里是假.應(yīng)該這樣:isdigit('5'),就是真了 .
嗯......這個(gè)我不太清楚你的環(huán)境,所以不好說(shuō).這個(gè)函數(shù)僅是知道,如果是0-9之間的數(shù)字,返回的是非0,其他返回0.而且不同編譯器實(shí)現(xiàn)的方式還不同,通常這個(gè)不是個(gè)函數(shù),而是一個(gè)宏,所以在用的時(shí)候返回什么還是不一定的。
- 2 回答
- 0 關(guān)注
- 417 瀏覽
添加回答
舉報(bào)
0/150
提交
取消