C语言中s*=*(p+i)是啥意思?

如题所述

表达式中p应该是个指针,指向一个数组,如a[10]
数组a的首地址传输给指针p,*(p+i)就是数组的第i个元素a[i]。
表达式“s*=”就是s=s*()
于是,该表达式即为s=s*(*(p+i))
也就是s=s*a[i]
表达式中第一个“*”是乘法运算
第二个“*”是指针运算符。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-17
s*=*(p+i);
s=s*(*(p+i));
第一个*是乘法运算,第二个*是取指针指向地址中的值的操作。
例如:
int *p;
p=new int[4];
*p=1;
*(p+1)=2;
int i=1;
int s=2;
s*=*(p+i);//s=4
第2个回答  2011-03-18
等价于:s = s * (*(p + i));
相似回答