游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2529|回复: 1

关于指针与系统内存冲突的问题

[复制链接]

1

主题

1

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2012-7-20 19:56:00 | 显示全部楼层 |阅读模式
我写了一个有关指针的程序,是对输入的五个数字进行排序,我用的是选择排序法,但是我一旦用指针表示数组的话,运行时老是出错,就是说我内存分配有问题,这是怎么一回事啊,该怎么弄呢?
#include<stdio.h>
void select(int *k,int n);
void main()
{
        int a[5];
        int i;
        printf("input 5 numbers:");
        for(i=0;i<5;i++)
                scanf("%d",a);
        select(a,5);
        for(i=0;i<5;i++)
    printf("%d ",a+i);
        getchar();
}

void select(int *k,int n)
{
        int x,y,t,min;
        for(x=0;x<n;x++)
        {
                min=x;
                for(y=x+1;y<n;y++)
                        if(*(k+min)>*(k+y))
                                min=y;
                        if(x!=min)
                        {
                                t=*(k+min),*(k+min)=k[x],*(k+min)=t;
                        }
        }
}

11

主题

95

帖子

658

积分

高级会员

Rank: 4

积分
658
发表于 2012-7-22 18:18:00 | 显示全部楼层

Re:关于指针与系统内存冲突的问题

scanf("%d",a);
改为
scanf("%d",&a);
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-2-27 22:54

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表