gpt4 book ai didi

c - 如何检查C中的空数组

转载 作者:太空狗 更新时间:2023-10-29 17:06:42 24 4
gpt4 key购买 nike

我在 C 中有以下代码:

int i = 0;
char delims[] = " \n";
char *result = NULL;
char * results[10];
result = strtok( cmdStr, delims );
while( result != NULL )
{
results[i] = result;
i++;
result = strtok(NULL, " \n");
}

if(!results[1])
{
printf("Please insert the second parameter...\n");
}
else
{
...
}

它总是执行 else 条件,即使 results[1] 为空也是如此。

我试过 results[1] == NULL 但没有成功。

如何检查它是否为空?

最佳答案

初始化 results 数组,使所有元素都为 NULL:

char* results[10] = { NULL };

在发布的代码中,元素被初始化并且将保存随机值。

此外,防止超出 results 数组的范围:

while (i < 10 && result)
{
}

关于c - 如何检查C中的空数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13869656/

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