关于用随机函数对数组赋值时,判断数组中存储的数的个数问题
我给出2个程序,第1个是随机函数赋值,第2个是值直接赋值#include<stdio.h>
#include<stdlib.h>
#include<time.h> //随机函数赋值
void main()
{
int a[20 int*p,*END;
int Len,i;
p=END=a;
srand(time(0));
for(i=0;i<10;i++)
{
a[i]=rand()%20;
}
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
printf("\n");
if(*END)
{
for(i=0 ;i<20;i++)
{
if(*(p+i))
{
// END=p+i;
Len=i+1;
}
else break;
}
printf("%d",Len);
getchar();
getchar();
}
}
第2个 直接赋值
#include<stdio.h>
void main()
{
int a[20]={1,2,5,7,8,7,5};
int*p,*END;
int Len,i;
p=END=a;
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
printf("\n");
if(*END)
{
for(i=0 ;i<20;i++)
{
if(*(p+i))
{
Len=i+1;
}
else break;
}
printf("%d",Len);
getchar();
getchar();
}
}
这2个程序最有输出的Len的值不一样,希望大家能帮忙下 告诉我原因