int a[ ]={ 1,2,3,4,5,6,7}; int i,s=1,*p; p=&a[ 3]; for (i=0; i<3;i++) s*=*(p+i); 程序段运行后的结果

为什么是120 请高手解释下过程
2025年03月01日 09:52
有2个网友回答
网友(1):

int a[ ]={ 1,2,3,4,5,6,7};
int i,s=1,*p;
p=&a[ 3]; //p指向数组元素a[3],即值为4的元素。
for (i=0; i<3;i++) s*=*(p+i); //值为4开始的元素三人元素相乘存入s,即s=4*5*6=120。

网友(2):

首先,p最开始指向的是a[3],也就是4 ,然后看循环,循环3次,
第一次i=0,s=s*(*(p+0)),*(p+0)也就是a[3],所以s=s*a[3],也就是1*4
以下,以此类推,结果就是4*5*6,120