【例7.11】定义数组a,用指针法将其中全部元素加1,再输出。
程序内容如下:
1 #include<stdio.h>
2 void main()
3 {
4 int a[6]={1,2,3,4,5,6},*p,j;
5 for(p=a;p<a+5;p++)
6 printf(“%d”,*p);
7 printf(“\n”);
8 p=a;
9 for(j=0;j<5;j++)
10 {
11 *(p+j)=*(p+j)+1;
12 printf("%d\n",*(p+j));
13 }
14 }
程序结果如图7.12所示:
图7.12 例7.11程序结果图
【例题中关键问题说明】
(1)第4行定义了一个整型的一维数组a,在数组a里存放了6个整型常量;还定义了一个整型指针变量p和一个整型变量j。
(2)第5行和第6行通过for循环使得指针变量p依次指向数组的所有元素,同时输出这些元素。
(3)第8行是指针变量重新指向数组a的首元素。
【例7.12】用指针方式实现一组整数的输入,并统计其中偶数和奇数的个数。
程序内容如下:
1 #include<stdio.h>
2 void main()(www.xing528.com)
3 {
4 int a[20],num,i,*p=a,j,m=0,n=0;
5 printf("请输入整数的个数:");
6 scanf("%d",&num);
7 printf("请输入%d个整数:\n",num);
8 for(i=0;i<num;i++)
9 scanf("%d",p+i);
10 for(i=0;i<num;i++,p++)
11 {
12 if(*p%2==0)
13 m++;
14 else
15 n++;
16 }
17 printf("这组数有%d个偶数和%d个奇数。\n",m,n);
18 }
程序结果如图7.13所示:
图7.13 例7.12程序结果图
【例题中关键问题说明】
(1)第4行定义数组a和指针变量p,并使得指针变量p指向a的首元素。
(2)第8、9行通过循环在给数组a赋num个常量。
(3)第10~16行通过循环,判定数组的每个元素对2取余是否为0,为0则为偶数,否则为奇数。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。