定义数组int score[N]
采用指针从键盘输入数组数据
采用指针法输出数组a的全部元素
1条回答 默认 最新
关注
#include<stdio.h> #define N 5 int main(){ int a[N]; int *p=a; for(int i=0;i<N;i++){//输入操作 scanf("%d",p+i); //等价scanf("%d",p++); //等价于scanf("%d",&a[i]); //等价于scanf("%d",a+i); //a代表数组首元素地址,它是一个指针型常量,程序运行期间值不变(不同于p),故不能用a++; } //输出方式一:用 a[i] 或用 *(a+i) ; 但不能使用a++(原因:a是指针型常量) for(i=0;i<N;i++){ printf("%d ",a[i]);//等价于 printf("%d ",*(a+i)); } printf("\n"); p=a;//必须把指针重新指向a的首元素 //输出方式二:用 *(p+i) 或者 *p++ ; 注意:要把指针重新指向a的首元素 for(i=0;i<N;i++){ printf("%d ",*(p+i));//等价于 printf("%d ",*p++); } printf("\n"); //输出方式三:用*p for(p=a;p<(a+N);p++){ printf("%d ",*p); } putchar(10);//等价于printf("\n"); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报