C语言怎么获取数值数组实际长度

比如一个数组inta[10]={1,2,3,0,7,6};我要获取它的实际长度6而非10,怎么弄啊注意里面有个0,这就是难点... 比如一个数组int a[10]={1,2,3,0,7,6};
我要获取它的实际长度6而非10,怎么弄啊
注意里面有个0,这就是难点
展开
 我来答
Hand_Hack
2011-08-06
知道答主
回答量:35
采纳率:0%
帮助的人:22.6万
展开全部
int length(int *a,int b){
int len;
for(len=b-1;a[len]==0 || len==-1;len--);
return len+1;
}
试试这个函数,末尾那个数不能是0 ,其中b是数组长度,题中是10 ,你也可以这样定义
int b=sizeof(a)/sizeof(a[0])
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友bd199ca
2011-08-06 · TA获得超过522个赞
知道小有建树答主
回答量:279
采纳率:0%
帮助的人:370万
展开全部
特例可以,但普遍方法是不存在的
追问
求特例
追答
举a[10]={1,2,3,0,7,6}为例

可以先把a[10]全部填充为某一个数,如0xFF,作为初始值

然后再挨个赋值为0,1,2,3,0,7,6

然后判断不是0xFF的个数,或者是判断连着的0xFF的个数。但前提是,前面这些数里没有0xFF

通用的方法是不存在的~
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yangcuihuani
2011-08-06
知道答主
回答量:6
采纳率:0%
帮助的人:2.4万
展开全部
判断出0后继续判断0后面还有没有非0数,如果有继续加一,没有不加,这样应该可以吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
playboy8165
2011-08-06 · TA获得超过196个赞
知道小有建树答主
回答量:354
采纳率:0%
帮助的人:138万
展开全部
strlen(a);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式