| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1465 人关注过本帖
标题:执行时出现Unhandled exception in XX.exe:0xC0000005 Access Violation 错 ...
只看楼主 加入收藏
neverlandzzy
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2011-3-26
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
执行时出现Unhandled exception in XX.exe:0xC0000005 Access Violation 错误
请教高手~ 写了一段很简单的计算最大最小值并获得其在数组中位置的程序,编译通过后执行时出现Unhandled exception in XX.exe:0xC0000005 Access Violation 错误。 貌似是哪里越界了? 不太明白这个错误的原因,麻烦指导下~

谢啦~

#include <stdio.h>
#define SIZE 10

int max_array(int num[], int numbers, int *PmaxPos);
int min_array(int num[], int numbers, int *PmaxPos);

main()
{
    int a[SIZE], i,max,min, maxPos, minPos;
    printf("Input 10 numbers:\n");

    for (i=1; i<=SIZE; i++)
    {
        scanf("%d", a[i]);
    }

    printf("Array a is:\n");
    for (i=1; i<=SIZE; i++)
    {
        printf("%d",a[i]);
    }

    max = max_array(a, SIZE, &maxPos);
    min = min_array(a, SIZE, &minPos);

    printf("The maximum is %d, and the minimum is %d", max, min);

}

int max_array(int num[], int numbers, int *PmaxPos)
{
    int i, max;
    max = num[0];
    *PmaxPos = 0;
    for (i=0; i<numbers; i++)
    {
        if(num[i]>max)
        {
            max=num[i];
            *PmaxPos = i;
        }
    }

    return max;
}

int min_array(int num[], int numbers, int *PminPos)
{
    int i, min;
    min = num[0];
    *PminPos = 0;
    for (i=1; i<numbers; i++)
    {
        if(num[i]<min)
        {
            min=num[i];
            *PminPos = i;
        }
    }

    return min;
}
搜索更多相关主题的帖子: numbers include 
2011-03-26 03:14
njkido
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:224
专家分:1184
注 册:2011-3-8
收藏
得分:20 
for (i=1; i<=SIZE; i++)//下标从0开始 i=0;i<SIZE;i++,其他类似
    {
        scanf("%d", a[i]);
    }
2011-03-26 03:20
neverlandzzy
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2011-3-26
收藏
得分:0 
回复 2楼 njkido
谢啦 不过试了 还是同样的错误。
下标从0或1开始一样吧?只要长度一样就行吧?
2011-03-26 03:23
njkido
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:224
专家分:1184
注 册:2011-3-8
收藏
得分:0 
必须0开始
scanf("%d", &a[i]);//改一下
2011-03-26 03:25
neverlandzzy
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2011-3-26
收藏
得分:0 
回复 4楼 njkido
谢啦 确实是因为scanf那句少了个&

另外,能帮忙解释下下标为啥要从零开始吗?

2011-03-26 03:31
njkido
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:224
专家分:1184
注 册:2011-3-8
收藏
得分:0 
C规定如此 没法解释的
2011-03-26 03:34
快速回复:执行时出现Unhandled exception in XX.exe:0xC0000005 Access Violati ...
数据加载中...
 
   



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

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