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
来自函数。
翻阅旧试卷,做题,这次:
数组是:
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
来自函数。