在这/*通过指针引用数组元素*/
#include <stdio.h>
#include <stdlib.h>
int main(void) {
int a[10];
int i,*p;//p为指向整形存储单元首地址的指针变量
printf("Please input the integer numbers:");
printf("\n");
fflush(stdout);//解决C语言中printf后的scanf不执行问题
/*在每个最后不带\n的printf后面加fflush(stdout);
* 在每个不想接受缓冲区旧内容影响的scanf前面加rewind(stdin);*/
for(i=0;i<10;i++){
/*rewind(stdin);*/
scanf("%d",&a[i]);}
for(i=0;i<10;i++)
printf("%3d",*(a+i));//(a+i)是a数组中序号为i的元素的地址,*(a+i)是该元素的值
printf("\n");
printf("Use the pointer p to show this array a[10]:\n");
for(p=a;p<(a+10);p++)
printf("%3d",*p);
printf("\nOver");
return 0;
}
调试结果
Please input the integer numbers:
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
Use the pointer p to show this array a[10]:
1 2 3 4 5 6 7 8 9 10
Over