我在 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/