以下是引用飞跃无限在2006-5-7 10:38:00的发言:
#include"stdio.h"
#include"malloc.h"
void main()
{
int n,i,*a;
printf("input the n:\n");//
scanf("%d",&n);
a=(int *)malloc(sizeof(int)*n);//
for(i=0;i<n;i++,a++)// /*此举把指针a向后移了*/
*a=i+1;// a[i]=i+1;
for(i=0;i<n;i++,a++) /*这个也是,所以出错了*/
printf("\n%3d",*a);
}
怎么结果对啊,
我用是VC
您把指针和数组弄乱了,我帮你改了下.
#include"stdio.h"
#include"malloc.h"
void main()
{
int n,i,*a;
printf("input the n:\n");
scanf("%d",&n);
a=(int *)malloc(sizeof(int)*n);
for(i=0;i<n;i++)
a[i]=i+1;
for(i=0;i<n;i++)
printf("\n%3d",a[i]);
free (a);
getch();
}