gpt4 book ai didi

我们可以在 C 中将变量设置为数字范围吗?

转载 作者:太空宇宙 更新时间:2023-11-04 07:54:05 25 4
gpt4 key购买 nike

我的想法是这样的:

range = range <= '9' && range >= '0';

我想从字符串中提取连续的数字序列。一旦程序在找到数字序列后找到非数字,我希望它在第二个 if 语句(第 59 行)中使用 break; 跳出循环。而且我认为如果我可以使用变量编写条件会容易得多。

我想在第 59 行中说的是“如果 var digit_flag 为 TRUE,并且数组 s 中的元素包含在 var range(这是一个数字范围),然后 break;"

可以吗?如果不能,为什么不呢?

int i = 0;
int size_of_s = 0;
int digit_flag = FALSE;
while (s[i] != '\0') {
if (s[i] == ' ') {
i++;
} else if (s[i] <= '9' && s[i] >= '0') {
size_of_s++;
i++;
digit_flag = TRUE;
}

if (digit_flag == TRUE && s[i] != range) {
break;
}
}

最佳答案

What I want to say in line 59 is "If the var digit_flag is TRUE and the element in the array s is included in the var range(which is a number range), then break;" Can it be done?

据我所知,这不能在 C 中完成。

If it can't, why not?

因为 C 语言中没有关系或比较运算符这意味着“操作数 1 在操作数 2 的范围内”(即使第二个操作数是数组)。您需要对两个条件 (>= A, <= B) 使用逻辑与 (&&)。

如果您不想使用标准函数 - 例如 isdigit(),它将使用范围 0-9 - 您可以使用宏

#define IS_IN_RANGE(x, min, max) (x >= min && x <= max)

内联函数。

static inline int is_in_range(int x, int min, int max) {
return (x >= min && x <= max);
}

关于我们可以在 C 中将变量设置为数字范围吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51681981/

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