gpt4 book ai didi

c++ - isdigit() 不工作?

转载 作者:行者123 更新时间:2023-11-28 02:37:50 24 4
gpt4 key购买 nike

当我输入一个数字并用 isdigit 测试时,它总是返回 false,为什么?

#include <iostream>

using namespace std;
int main() {

int num;

cin >> num;

if(isdigit(num))
cout << "Is a number";

else
cout << "That is not a number";

}

示例输入:1

最佳答案

那是因为 isdigit 的目的是检查一个字符 是否是 ASCII 数字。例如:

if (isdigit('4')) {
// yep
}

或者:

std::string str = "12345";
if (std::all_of(str.begin(), str.end(), isdigit)) {
// ok this is safe
int i = std::stoi(str);
}

它主要检查其输入是否在 '0''9' 之间。也就是说,48 和 57。对于任何其他值,它将返回 0。

关于c++ - isdigit() 不工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26929696/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com