gpt4 book ai didi

c - 如何检查字符串是否为数字?

转载 作者:太空狗 更新时间:2023-10-29 16:32:58 24 4
gpt4 key购买 nike

我想用这段代码检查一个字符串是否是一个数字。我必须检查字符串中的所有字符是否都是整数,但 while 返回总是 isDigit = 1。我不知道为什么 if 不起作用。

char tmp[16];
scanf("%s", tmp);

int isDigit = 0;
int j=0;
while(j<strlen(tmp) && isDigit == 0){
if(tmp[j] > 57 && tmp[j] < 48)
isDigit = 0;
else
isDigit = 1;
j++;
}

最佳答案

忘记 ASCII 代码检查,使用 isdigitisnumber(参见 man isnumber)。第一个函数检查字符是否为 0-9,第二个函数还接受各种其他数字字符,具体取决于当前语言环境。

甚至可能有更好的函数来进行检查——重要的教训是这比看起来要复杂一点,因为“数字字符串”的精确定义取决于特定的语言环境和字符串编码。

关于c - 如何检查字符串是否为数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16644906/

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