为什么不能删除它
void sor(int *a,int m,int *c)//把数组A中的数,上限为M,倒过来放在C中返回
{
for(int i=0;i<m;i++
{
c[m-i]=a[i];
}
}
void main()
{
int *aa={1,2,3,4};
int m=4;
int *c=new int (20);//此时是正确的
Sor (a,m,c);//去做倒运算
delete []c;//这里就老是出错,提示after Normal block (#75) at 0x00421860
c=NULL;
}
问题点数:20、回复次数:8Top
1 楼greex(greex)回复于 2004-12-09 19:51:15 得分 0
再问一下,C++中引用"&"有什么作用Top
2 楼avalonBBS("︶.︶メ)→( ̄ε ̄メ)回复于 2004-12-09 22:11:47 得分 5
void sor(int *a,int m,int *c)
{
for(int i=m-1,j=0;i>=0;i--,j++)
c[j]=a[i];
}
void main()
{
int a[]={1,2,3,4};
int *c=new int[20];
sor(a,4,c);
delete []c;
c=NULL;
}Top
3 楼liweiswin(▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲)回复于 2004-12-10 02:55:20 得分 0
引用是为了避免使用指针而发明的。
int a;
int &b=a;
就是说a和b共用一个内存地址。Top
4 楼liweiswin(▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲)回复于 2004-12-10 02:56:16 得分 0
c=NULL;
去掉最后这一句!Top
5 楼sandrowjw(我的小猫照片给弄坏了,心都碎了)回复于 2004-12-10 09:44:49 得分 0
改c[m - i - 1] = a[i];即可Top
6 楼sandrowjw(我的小猫照片给弄坏了,心都碎了)回复于 2004-12-10 09:46:02 得分 5
int *aa={1,2,3,4};
--〉
int aa[] = {1,2,3,4};
比较好一些Top
7 楼Bread_0053(好好学习,天天向上)回复于 2004-12-10 10:10:56 得分 0
int *c=new int (20);->
int *c=new int [20];
好像c++里没有new int()这样的形式吧;
c里面的malloc是这样的
int *a=(int*)malloc(10);Top
8 楼jialuo(jialuo)回复于 2004-12-10 11:07:58 得分 10
#include "stdafx.h"
#using <mscorlib.dll>
using namespace System;
using namespace std;
void sor(int *a,int m,int *c);
int _tmain()
{
int a[]={1,2,3,4};
int m=4;
int *c=new int[20];
sor(a,m,c);
delete []c;
return 0;
}
void sor(int *a,int m,int *c)
{
for(int i=0;i<m;i++)
{
c[m-i-1]=a[i];
}
}Top




