gpt4 book ai didi

c - 验证整数输入

转载 作者:行者123 更新时间:2023-12-04 10:55:51 24 4
gpt4 key购买 nike

谢谢你们回答我的第一个问题,但我还有另一个问题。我这里有这段代码使用 strtol() 函数。它有效,但问题是,如果我输入三个选项之一:(d 2) 它被视为一个字符串,如果输入 (2d) 它是一个字符串,并且 (d2) 是一个字符串。有没有办法检测数组中的数字?

  char userInput[256];
char *end;
printf("Please enter your name: ");
scanf("%s", userInput);
int userName = strtol(userInput, &end, 10);
if (!*end)
{
printf("You have enter an int");
}
else
{
printf("You have entered a string");
}

最佳答案

如果您真的只需要检查字符串中是否包含数字,可以这样做:

int has_ints(char * str) {
const int len = strlen(str);
int i;
for (i = 0; i < len; i++) {
if (str[i] <= '9' && str[i] >= '0') {
return 1;
}
}
return 0;
}

关于c - 验证整数输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19987314/

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