main(){
int *p,i,a[10];
p=a;
for(i=0;i<10;i++)
*p++=i;
printf("a[%d]=%d\n",i,*p++);
} 又要麻烦大家了,这个是书上的一个题目,本意是想输出数组中的全部元素,可是这里有个错误,大家帮忙看一下,然后说下道理,小弟弟在这里多谢各位了
#include "stdio.h" main(){
for(i=0;i<10;i++, p++)
*p=i;
p=a; for(i=0;i<10;i++, p++)
printf("a[%d]=%d\n",i,*p);
} 指针用完需要还原到首地址。要不第二个循环时候指针就越了。
printf("a[%d]=%d\n",i,*p--); 改成这样也应该可以吧!
楼上的那样改,输出结果是错误的,不过可以这样改
这里不明白用*p--为什么不可以,不是一直往后走吗? 这里也改一下不就可以了吗 for(i=9;i>=0;i--)
#include "stdio.h" #include "conio.h"
int *p,i,a[10]={2,36,25,41,78,65,20,2,3,5}; p=a;
printf("a[%d]=%d\n",i,*p); getch(); } 把*p=i换成*p=a[i]