如何检查C中是否为空数组

我在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
{
    ...
}

即使结果[1]为空,它也始终执行else条件.

我试过结果[1] == NULL但没有成功.

我怎样才能检查它是否为空?

初始化结果数组,以便所有元素都为NULL:

char* results[10] = { NULL };

在发布的代码中,元素是单元化的并且将保持随机值.

另外,防止超出结果数组的范围:

while (i < 10 && result)
{
}
翻译自:https://stackoverflow.com/questions/13869656/how-to-check-if-empty-array-in-c

转载注明原文:如何检查C中是否为空数组