wz0526z 发表于 2019-12-4 16:23:46

这段代码p1-a什么意思

#include<stdio.h>
int main ()
{
          int a,*p1,**p2,n=2;
          printf("please input:\n");
          for(p1=a;p1-a<10;p1++)
          {
                p2=&p1;
                scanf("%d",*p2);
          }
          printf("the array is:");
          for(p1=a;p1-a<10;p1++)
          {
                p2=&p1;
                if(**p2%2==0)
                {
                printf("%5d",**p2);
                n++;
                }

jackz007 发表于 2019-12-4 16:59:24

本帖最后由 jackz007 于 2019-12-4 19:27 编辑

          int a,*p1,**p2,n=2;
      p1 是指向整型数的指针,其步进单位为 1 个 int,就是说,如果把 p1 指向一个 int 型的一维数组,p1 每增减一个步长,就会指向数组的下一个元素或上一个元素。
      循环中, p1 从 a 开始,逐步向 a 靠近,p1 - a表示从 a 开始,到 p1 之间所间隔的 int 元素个数。p1 - a < 10 的意思是,从 a 开始,到 p1 之间所间隔的整型数元素少于 10 个,也就是说,如果数组 a 的 10 个元素还没有遍历完,就继续循环。
页: [1]
查看完整版本: 这段代码p1-a什么意思