标题:[求助] 程序错在哪里
只看楼主
skd_123456
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-2-6
 问题点数:0 回复次数:1 
[求助] 程序错在哪里

题目:编制函数,接受从主调函数传入的、有n个元素的一维数组首地址,对该数组按绝对值从小到大排序。
我的程序如下:
#include<stdio.h>

#include<math.h>
void main()
{float ei(float *,int),*p;int i,n;

scanf("%d",&n);
for(i=0;i<n;i++)scanf("%f",&p[i]);

ei(p,n);
for(i=0;i<n;i++)
printf("%f\n",p[i]);

}

float ei(float *a,int m)
{ int k,j;float temp;
for(k=0;k<m-1;k++)
for(j=k;fabs(a[j])>fabs(a[j+1])&&j>=0;j--)
{ temp=a[j];a[j]=a[j+1];a[j+1]=temp;}

return *a;
}
问题:该程序能够输出正确结果,但不能正常停止,是被强制关闭的,这是怎么回事?我用的是Borland C++。
请帮我改正一下,谢谢。

搜索更多相关主题的帖子: include 绝对值 元素 
2006-02-10 00:20
shuanghei
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2006-1-15
得分:0 
你没有为指针p分配动态内存。怎么赋值??
2006-02-10 02:44



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




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

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