gpt4 book ai didi

检查输入是否仅在 C 中包含数字

转载 作者:行者123 更新时间:2023-11-30 15:22:21 25 4
gpt4 key购买 nike

我需要检查插入的输入(大小由用户确定的数组,意味着在运行时)是否仅包含数字(C99)。虽然我知道如何做到这一点,但在我看来似乎很笨拙,这导致我在这里询问是否有更好的解决方案。我的“想法”是接收作为字符串数组的输入,然后对每个成员运行循环以检查它是否包含非数字字符。有没有更好的办法?

最佳答案

所以,如果我正确理解你的问题,你会读入一个行数组中的几行文本,即你有:

char **lines;
int count_lines, i;

count_lines = get_line_count_somehow();
lines = malloc(count_lines*sizeof(*lines));
for (i = 0; i < count_lines; i++)
lines[i] = get_actual_line_somehow();

现在您想要循环遍历每个字符串。我在这里假设 i 的每个值的 lines[i] 都是以 '\0' 结尾的。

int contains_digits_only = 1;

for (i = 0; i < count_lines; i++)
{
char *ptr = lines[i];
while (*ptr)
{
if (!isdigit(*ptr));
{
contains_digits_only = 0;
goto out;
}
ptr++;
}
}
out:
do_something_with(contains_digits_only);

关于检查输入是否仅在 C 中包含数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29245188/

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