C语言如何获知字符串数组长度? 比如,a[]={"111","222","3"}; 我要知道它总共有几个字串,怎么做?

如题所述

第1个回答  2010-08-18
//计算字符串数组有多少个非空且字符串长度大于0的元素即可。

char * a[100]={"111","222","3"};
int count = 0;
for(i=0;i<100;i++)
{
//按编译器逻辑,第一条件为假就不会计算第二条件
if((a[i] != 0 )&&(strlen(a[i]>0)))
count++;
}
//count即为所求
printf("There are %d string in a \n",count);
第2个回答  2010-08-18
#include <iostream>
#include <string>
using namespace std;

void main()
{
char *a[]={"111","222","3"};
cout << sizeof(a)/sizeof(char*) << endl;
cout << a[0] << endl;
}本回答被提问者采纳
第3个回答  2010-08-18
int b;
b = sizeof(a)
b就等于a所占用的字节数。
你再去查点关于sizeof运算符的详细介绍,我就不在这里多言了。
第4个回答  2010-08-18
对于获得数组元素的个数,一贯推荐使用sizeof(数组名)/sizeof(数组元素类型).
第5个回答  2010-08-18
int main()
{
char *a[]={"111","222","3"};
cout<<sizeof(a)/sizeof(char *)<<endl;
}
相似回答