标题:关于用随机函数对数组赋值时,判断数组中存储的数的个数问题
只看楼主
kidangel666
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:93
专家分:139
注 册:2010-9-15
结帖率:78.95%
已结贴  问题点数:10 回复次数:1 
关于用随机函数对数组赋值时,判断数组中存储的数的个数问题
我给出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的值不一样,希望大家能帮忙下  告诉我原因
搜索更多相关主题的帖子: 赋值 随机函数 判断 
2010-10-13 16:30
vandychan
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
等 级:贵宾
威 望:18
帖 子:2296
专家分:6418
注 册:2010-8-20
得分:10 
int a[20    实际上没有确定值 只是开辟了空间
int a[20]={1,2,5,7,8,7,5};则是数组赋了初值 没有在{}里面的都是0

而且你用指针判断数组长度的办法是错的

到底是“出来混迟早要还”还是“杀人放火金腰带”?
2010-10-13 21:46



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-322783-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.288301 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved