帮忙解释下关于指针的问题,小弟对于内存不甚了解
这个程序错误有好几种改法:请问这个程序为什么不能达到目的,望详解#include<stdio.h>
void main()
{
int *p,i,a[10];
p=a;
for(i=0;i<=9;i++)
{
scanf("%d",p++);
}
printf("\n");
for(i=0;i<=9;i++,p++)
{
printf("%d\n",*p);
}
}
改法1:
#include<stdio.h>
void main()
{
int *p,i,a[10];
p=a;
for(i=0;i<=9;i++)
{
scanf("%d",(a+i));
}
printf("\n");
for(i=0;i<=9;i++,p++)
{
printf("%d\n",*p);
}
}
改法2:
#include<stdio.h>
void main()
{
int *p,i,a[10];
p=a;
for(i=0;i<=9;i++)
{
scanf("%d",p++);
}
printf("\n");
for(i=0;i<=9;i++,p++)
{
printf("%d\n",a[i]);
}
}
[ 本帖最后由 zhonganyun0 于 2012-7-26 15:43 编辑 ]