c语言如何判断一个数组的最后一位的下标,求大神

c语言中如何判断一个数组的最后一位,比如a[10]={1,2,3,4,5,6},如何判断a[i]=6,i的值,求大神支招,求代码

求最后数组最后一位可以用sizeof函数

如果是a[10]的就是:

解释就是直接用sizeof检查数组a的内存大小(以字节为单位),减去1(因为数组是从0开始)就可以得到数组最后一个值。

所以,i=sizeof(数组名)/sizeof(数组类型) -1;

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-06-16
a[10]={1,2,3,4,5,6}实际上是a[10]={1,2,3,4,5,6,0,0,0,0};

a[i]=6不是最后一位追问

好吧,是我表达错了,就是求i的值,就是求最后一位有元素的下标。

追答

a[9]也有元素啊。。。。。。为0而已
你的意思是不是不清楚数组的个数啊。。。用malloc就好了

追问

非0元素的

追答

。。。。
int i=N ; N是你定义的数组的个数,但必须是常量

while(a[i-1]==0)
{
--i
}
i=i-1;
这个i就是坐标

本回答被提问者采纳
第2个回答  2013-06-16
你指的是得到数组的长度吗?
我只能告诉你,如果你没有认为的加一个标志位或者用一个独立的变量保存的话
这是做不到的
相似回答