C++关于数组指针的题

2025-03-19 15:58:00
推荐回答(4个)
回答1:

这题的Xfun是什么意思:
Xfun是一个函数,自己声明的 int Xfun(int *a,int n);int是指返回类型;Xfun是函数名;
(int *a,int n)是函数的参数;

for (int *p=a;p0) x+=*p;== for(int *p=a;p0) x+=*p;}

int *p=a:是声明了一个int* 类型的指针,值为a;
pp++:这个你总会明白的吧。
if(*p>0) x+=*p:如果*p的值大于0,将p指向的值累加到x中。(*p是取出p所表示的地址中的值)
这个for循环就是把数组中大于0 的数累加,存到x中。

return 就是函数返回值 return 0返回的是0,return x 返回的是x的值。记住是函数的返回值,就是函数执行到return 时会结束,并且返回一个值,函数声明的时候不是有类型的吗。
cout<

回答2:

Xfun是把数组a中所有>0的元素加起来
for那句是指针循环
指针的++,是把指针地址向后偏移一个数据,如果指针指向int,则向后偏移sizeof(int)
这样:p的初值指向a,然后每次移动一个int的大小,正好指向数组中下一个元素,一直循环到数组结束

return X就是把最后计算的那个总和(计算结果)返回,使得调用的地方可以得到这个数字

回答3:

Xfun是一个函数,这个函数是遍历数组中的元素,把值大于0的元素相加,并把最后的结果返回

int x=0;
for (int *p=a;p{
if(*p>0) //对应的指针值大于0
{
x+=*p;
}
}
return x;
这样看起来就比较明朗了

回答4:

我也在学……还不知道