我想检查一下我的数组是否只有数字,我该如何查看?
我尝试这个例子,但这不起作用,我不明白为什么。
int main() {
char* str = new char[9];
cin >> str;
cout << isdigit(str[0])<<endl;
system("pause");
return 0;
}
输入:
1234
输出: 4
我想要的是:
输入: 1234
print:ok
输入:
12FG
打印:不行(因为我的数组中的字符)
我期待着您的帮助和解释
感谢的。
答案 0 :(得分:1)
试试这个
if(isdigit(str[0]))
cout << 'ok'
else
cout << 'not ok'
额外信用1.使用此验证整个字符串
额外学分2.找到另一种方法来验证整个字符串(有很多)
额外的信用3.更难,找出你为什么得到&#39; 4&#39;来自isdigit(str[0])
答案 1 :(得分:1)
尝试这样的事情:
const char *s = "1234";
while (isdigit(*s)) s++;
const char *result = (*s) ? "not ok" : "ok";