C代码计数数组中不为空的元素

C code Count elements in array that are not null

翻阅旧试卷,做题,这次:

数组是:

char* s[]={"one","two",NULL,NULL,"five","",""};

使用函数名称:

int inUse(char *s[],int len)

我必须确定非 NULL 元素的数量。

我想出了:

int count=0;

for(i=0; i<7, i++)
{
    if(s !=NULL)
    {
        count ++;
    }
}

这是正确的吗?谢谢

修订:

int inUse(char *s[],int len)
{

    int count=0;

    for(i=0; i<len, i++)
    {
        if(s[i] != NULL)
        {
            count ++;
        }
    }

    return count;
}

首先,

char s*[]={"one","two",NULL,NULL,five,"",""};

不编译。你是说

char* s[]={"one","two",NULL,NULL,"five","",""};

其次,我假设您使用

调用您的函数
inUse(s, 7);

/* OR */

inUse(s, sizeof(s) / sizeof(*s));

第三,你应该改变

if(s !=NULL)

if(s[i] != NULL)

因为您想检查数组的各个元素是否不 NULL

最后,我假设你 return count 来自函数。