永发信息网

C++ 问题,很简单。

答案:3  悬赏:40  手机版
解决时间 2021-04-11 09:40
  • 提问者网友:记得曾经
  • 2021-04-10 14:06

#include <iostream.h>
void fun(int *p);
void main()
{int a[]={2,4,6,8,10};
fun(a);
for(int i=0;i<5;i++)
cout<<a[i]<<" ";
cout<<endl;
}
void fun(int *p)
{ int t;
for(int*q=p+4;q>=p;q--,p++) 【这句看不明白,q不知道啥意思】
{ t=*q;*q=*p;*p=t;}
}

这个函数调用,指针调用我不太明白什么意思,能把这个函数每句注明下吗?谢谢

最佳答案
  • 五星知识达人网友:执傲
  • 2021-04-10 15:37
for(int*q=p+4;q>=p;q--,p++) 这句话的意思是 q指向数组p的第5个元素也就是p[4] 也就是10
全部回答
  • 1楼网友:煞尾
  • 2021-04-10 17:18

这个程序意思就是让数组前后位置互换,有哪里不清楚的吗?

  • 2楼网友:一袍清酒付
  • 2021-04-10 16:16
#include <iostream.h> void fun(int *p); void main() {int a[]={2,4,6,8,10}; fun(a);//传入a 数组,调用func函数 for(int i=0;i<5;i++) cout<<a[i]<<" "; cout<<endl; } void fun(int *p) { int t; for(int*q=p+4;q>=p;q--,p++) //q就是一个普通的指针,指向(p+4), 也就是a[5], 这个程序是个排序程序。 { t=*q;*q=*p;*p=t;}//交换位置 }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯