C语言怎么获取数值数组实际长度
比如一个数组inta[10]={1,2,3,0,7,6};我要获取它的实际长度6而非10,怎么弄啊注意里面有个0,这就是难点...
比如一个数组int a[10]={1,2,3,0,7,6};
我要获取它的实际长度6而非10,怎么弄啊
注意里面有个0,这就是难点 展开
我要获取它的实际长度6而非10,怎么弄啊
注意里面有个0,这就是难点 展开
展开全部
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])
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])
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
特例可以,但普遍方法是不存在的
追问
求特例
追答
举a[10]={1,2,3,0,7,6}为例
可以先把a[10]全部填充为某一个数,如0xFF,作为初始值
然后再挨个赋值为0,1,2,3,0,7,6
然后判断不是0xFF的个数,或者是判断连着的0xFF的个数。但前提是,前面这些数里没有0xFF
通用的方法是不存在的~
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
判断出0后继续判断0后面还有没有非0数,如果有继续加一,没有不加,这样应该可以吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
strlen(a);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询