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));

C语言中s*=*(p+i)是啥意思?
也就是s=s*a[i]表达式中第一个“*”是乘法运算 第二个“*”是指针运算符。

C语言(*(*p+i))是什么意思
p应该是指向二维数组的首地址(*(*p+i))代表的是第一行第i列的值 zm183242238 | 发布于2012-06-09 举报| 评论 0 0 看着像是二维数组第0行第i列的元素 看灰过来了 | 发布于2012-06-09 举报| 评论 0 0 指针所指的数组中的元素 追问 和这个(*(p+i))有什么区别? 追答 这是指向数组元素...

编程C语言 输入n个学生成绩,计算他们的平均值并输出所有高于平均的学生...
思路:定义一个数组用于保存n个学生的成绩,输入他们的成绩的时候统计总分,并计算出他们的平均分,在来一个循环,让n个学生的成绩分别和平均分进行比较,满足大于平均分则输出 \/\/c语言实现 include<stdio.h> define MAX 100 int main(){ int n,i;double score[MAX],average,sum=0;printf("\\n输...

c语言中*(p++)是什么意思 *(++p)呢?最好列个例子 谢谢啦
(p++)是指的第一个元素。然后p=p+1 所以p现在指向b (++p) 表示先把p+1,所以p现在指向c了。然后用打印就可以了。楼主好运!

求用c语言求一个二维数组中每行的最大值和每行的和
include<stdio.h>int sum_n(int *p,int m)\/\/求*p开始的m个元素的总和 {int i,s=0; for(i=0;i<m;i++) s+=*(p+i); return s; }int max_n(int *p,int m)\/\/求*p开始的m个元素的最大值 {int i,max=*p; for(i=1;i<m;i++) if(*(p+i)>max)max=*(p+i);...

c语言指针
我的 c语言指针 最近学c语言指针,真是太混乱了,课后题不明白,求大神讲的通俗易懂些,例如编写一个函数,能同时求出三个整数的最大值和最小值,并通过形参把结果传回给调用函数。通过形参把结果传回... 最近学c语言指针,真是太混乱了,课后题不明白,求大神讲的通俗易懂些,例如编写一个函数,能同时求出三个整...

...int s=0,i,P=&x[0] for (i=0:i<5,i++) s+=*(p=i)
s+=*(p=i)printf 倒数第二行:s+=*(p=i);错误,应为:s+=*(p+i);一个int行整数怎么能直接付给一个指针呢,应该为p+i,表示从指针p开始的偏移量。那么,*p=1,是数组x的第一个值,for (i=0:i<5,i++)s+=*(p=i)表示从第一个值加到第五个值,也就是是1+2+5+8+7=23.ov...

关于C语言中这种情况下的问题如何理解?
top--,就是top先去干别的事,干完再减!如果是p=s[top--]的话,top首先是S数组的下标p=s[top]=s[1]=B.然后top在自减top=0;LZ补充的问题,我不明白是什么意思。s[size]是一个数组,那s[0]的地址就是整个数组的地址。int *p=s(s就是数组s的地址)。*p=A;*(p+1)=B;*(++p)=...

在线跪求C语言试题答案,请高手帮帮我~~~
9.C(字节对齐的问题,印象里应该是最大成员的字节数)10.B(p为m的首地址,++p后取第二组数据的首地址,*取值后为第二组数据中的第一个数据位置,.j为取j位置上的数据,结果为2)11.A(上面已经说了,指针本身就是地址,&和*两个符号取地址再取内容,等于抵消,所以还是地址)12.B(a+i确定行...

c语言复赛jam计数法求解(做出来追加高分)
for(i=1;process(first,end,length) && i<=5;i++)printf("%s\\n",first);return 0;} \/\/下面这个函数用来求比传递过来的jam数大一的数 bool process(char *a,int end,int length){ bool sth=false;char *p=a+length-1;char max='a'+end-1;for(;;p--,max--){ if(*p<max){ p...

相似回答