这段代码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 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]