数组中存了多少字?
定一个数组:a[30];
在程序中赋值for(i=0;i<20;i++){a[i] = i;}
如何算出数组中存了多少个字,不能利用i的值。strlen(a) 不行,因为第一个就是0了,直接退出来,还可以有什么算法吗???
[解决办法]
char *p = a;
char *end = p + 30;
char v = 0;
while (p < end)
{
if (*p != v) break;
++p;
++v;
}
// 存了v个
if(i%4==0) printf("\n");
if(i%20) i++;
}
printf("\n");
printf("数组个数为:%d",i);
}
[解决办法]
LZ根据你的意思,肯定不能是随机赋值,
你都初始化为0, 然后随机几个再赋值成0,问赋值了几个?
strlen(a+1) + 1;
定一个数组:a[30];
在程序中赋值for(i=0;i<20;i++){a[i] = i;}
如何算出数组中存了多少个字,不能利用i的值。strlen(a) 不行,因为第一个就是0了,直接退出来,还可以有什么算法吗???
定一个数组:a[30];
在程序中赋值for(i=0;i<20;i++){a[i] = i;}
如何算出数组中存了多少个字,不能利用i的值。strlen(a) 不行,因为第一个就是0了,直接退出来,还可以有什么算法吗???
这个。。。为什么需要这样的要求?
为了判断数组是否越界吗?
如果非要知道,自己程序加个计数就行了!对于你说的那个初始化的情况,那个只能靠自己!作为程序员,你有责任也必须知道如何管理自己的程序!