1b1n1m 发表于 2016-8-20 18:36:42

为什么会在电脑上面出现溢出?安卓手机上面又是显示正常

#include <stdio.h>
#include <time.h>
#include <stdlib.h>

/*对指定长度的数组随机排序函数*/
void get_rand_number(int array[], int length,int rannum)
    {
      intindex;
      int value;
      int median;
                srand(rannum);
      if(NULL == array || 0 == length)
            return ;
         
      
      for(index = 0; index < length; index ++)
                {
            value = index + rand() % (length - index);         
            median = array;
            array = array;
            array = median;
      }
   
                /*for(i=0;i<index;i++)
                        printf("%d ",array);*/
    }


/*定义姓名生成函数namef*/
void namef(int nam)
{
        switch(nam)
        {
        case 1:printf("宋明瑶");break;
        case 2:printf("孙荣大");break;
        case 3:printf("杨宗航");break;
        case 4:printf("李正彭");break;
        case 5:printf("孙嘉言");break;
        case 6:printf("张泮祺");break;
        case 7:printf("李尚林");break;
        case 8:printf("张宜芳");break;
        case 9:printf("万雨辰");break;
        case 10:printf("李博");break;
        case 11:printf("吴政航");break;
        case 12:printf("史金梁");break;
        case 13:printf("徐豪");break;
        case 14:printf("李嘉龙");break;
        case 15:printf("杨晨");break;
        case 16:printf("陈慧坤");break;
        case 17:printf("崔子一");break;
        case 18:printf("邵铂文");break;
        case 19:printf("张翔宇");break;
        case 20:printf("李天天");break;
        case 21:printf("冯胜隆");break;
        case 22:printf("耿金龙");break;
        case 23:printf("付雨萌");break;
        case 24:printf("刘馨博");break;
        case 25:printf("黄心瑞");break;
        case 26:printf("周姊阳");break;
        case 27 :printf("齐益宁");break;
        case 28:printf("王雪怡");break;
        case 29:printf("李雨菲");break;
        case 30:printf("钱政旭");break;
        case 31:printf("岳靓");break;
        case 32:printf("杜鑫莹");break;
        case 33:printf("郑卉桐");break;
        case 34:printf("倪熙宇");break;
        case 35:printf("王祉豫");break;
        case 36:printf("鲍雨桐");break;
        case 37:printf("张思琦");break;
        case 38:printf("张竹然");break;
        case 39:printf("高铭璠");break;
        case 40:printf("李晓慧");break;
        case 41:printf("沈亚杰");break;
        case 42:printf("汤丽丽");break;
        case 43:printf("吴凤祥");break;
        case 44:printf("谢莉萍");break;
        case 45:printf("陶晓雷");break;
        case 46:printf("章丽丽");break;
        case 47:printf("陈向东");break;
        case 48:printf("陈兆国");break;
        case 49:printf("成秀山");break;
        case 50:printf("纪海燕");break;
        case 51:printf("明汉琴");break;
        case 52:printf("李红深");break;
        case 53:printf("胡泽夫");break;
        case 54:printf("罗建东");break;
        case 55:printf("商海霞");break;
        case 56:printf("钱志东");break;
        case 57:printf("凌玉兰");break;
        case 58:printf("孙德荣");break;
        case 59:printf("陶应明");break;
        case 60:printf("伍薇薇");break;
        }
}
        int main()
        {
                int arp,duty={0},flag;
                int n,i,j,k,x;//定义循环变量
                for(n=0;n<30;n++)
                {
                        printf("第%d天:\n",n);
                for(i=0;i<30;i++)
                {
                        arp = i;
                }

                get_rand_number(arp,30,n);
               
                for(j=0;j<8;j++)
                {
                duty = arp;
                }
                for(k=0;k<8;k++)
                {
                        namef(duty);
                        flag]++;
                        printf("");
                }
                printf("\n");

               
                }
                for(x=0;x<30;x++)
                {
                        namef(x);
                        printf("%d",flag);
                        if(x%5==0)
                                printf("\n");
                }
                getchar();
                return 0;
        }以上是代码

这个是溢出结果,和手机运行的结果在二楼
















1b1n1m 发表于 2016-8-20 18:39:22

隔壁老朱 发表于 2016-8-20 19:53:01

回复得鱼币

Krant5 发表于 2016-8-20 20:15:00

本帖最后由 Krant5 于 2016-8-20 20:16 编辑

我还以为这个很厉害的,你下次不能描述一下吗我看了很久的,问题在于 你没有初始化flag数组 ,内部是随机值导致了错误,如果你问手机上为什么可以,那是他的编译器不规范。

紫瞰 发表于 2016-8-20 21:05:00

{:5_91:}

墨小鱼 发表于 2016-8-20 21:07:37

换64位系统试试看

1b1n1m 发表于 2016-8-23 17:35:09

Krant5 发表于 2016-8-20 20:15
我还以为这个很厉害的,你下次不能描述一下吗我看了很久的,问题在于 你没有初始化flag数组 ,内部是随机值 ...

是的,我把所有数组初始化了以后问题就解决了.
页: [1]
查看完整版本: 为什么会在电脑上面出现溢出?安卓手机上面又是显示正常