当前位置: 代码迷 >> C语言 >> 怎么结果对啊
  详细解决方案

怎么结果对啊

热度:353   发布时间:2006-05-07 10:38:00.0
怎么结果对啊
#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=i+1;// a[i]=i+1;
for(i=0;i<n;i++,a++)
printf("\n%3d",*a);
}
怎么结果对啊,

我用是VC
搜索更多相关的解决方案: 结果  

----------------解决方案--------------------------------------------------------
哦,怎么结果不对啊
----------------解决方案--------------------------------------------------------
以下是引用飞跃无限在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();
}


----------------解决方案--------------------------------------------------------
  相关解决方案