标题:求大神解答,原始数组没有问题,但为什么排序后出现了出乎意料的结果
只看楼主
谢晓乐
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2014-8-5
结帖率:100%
已结贴  问题点数:20 回复次数:4 
求大神解答,原始数组没有问题,但为什么排序后出现了出乎意料的结果

求教各位,我的程序代码如下,是在Visual Studio中写的;
已经定义好的数组在排序之前是没有问题的,但排序过后就会出问题,Release时而有问题,Debug是每次必出问题;
求大神指点
程序代码:
#include<stdio.h>
#include<time.h>
#include<stdlib.h>

void maopao(int a[]);
void exchange(int *a, int *b);

#define LENGTH 100

int main()
{
    int a[LENGTH],counter=0;
    srand(time(NULL));
    while (1)
    {
        for (counter = 0;counter < LENGTH; counter++)
        {
            a[counter] = rand() % 100000;
        }
        maopao(a);
        printf("\nIt's over\nPress ENTER to run again\n");
        getchar();
    }
    return 0;
}
void exchange(int *a, int *b)
{
    int temp;
    temp = *a;
    *a = *b;
    *b = temp;
}
void maopao(int a[])
{
    int i,j,output;
    printf("Before:\n\n");
    for (output = LENGTH - 1;output >= 0;output--)
    {
        printf("\tNo.%d\t=%d\n ", output + 1, a[output]);
    }
    printf("\n\n\n");
        for (i=0;i<=LENGTH-1;i++)
        {
            for (j = 0;j <= LENGTH-i;j++)
            {
                if (a[j] > a[j + 1])
                    exchange(&a[j], &a[j + 1]);
            }
        }
        printf("After:\n\n");
        for (output = LENGTH-1;output>=0;output--)
        {
            printf("\tNo.%d\t=%d\n ",output+1, a[output]);
        }
}
2016-12-11 19:01
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:15 
很明显 有一组数据越界了

DO IT YOURSELF !
2016-12-11 20:45
forever74
Rank: 12Rank: 12Rank: 12
来 自:CC
等 级:贵宾
威 望:49
帖 子:1636
专家分:3940
注 册:2007-12-27
得分:5 
冒泡冒冒了

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2016-12-11 20:46
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
恩,我用DEV C++ 测试几次 并没有溢出现象

DO IT YOURSELF !
2016-12-11 20:50
谢晓乐
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2014-8-5
得分:0 
回复 4楼 wp231957
嗯,谢谢,我再看看吧
2016-12-12 14:48



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




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

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