为了账号安全,请及时绑定邮箱和手机立即绑定

我想交换指针变量 ,出现了问题,请大神指点一下,谢谢!

我想交换指针变量 ,出现了问题,请大神指点一下,谢谢!

C C++
qq_盼望_2 2017-04-03 14:20:08
#include<iostream>using namespace std;int main(){   void input(int *n);    void select(int *p);int a[10]; cout<<"please input 10 numbers:"<<endl; input(a); select(a);return 0;}void input(int *n){ int i; for(i=0;i<10;i++) cin>>*(n+i);}void select(int *p){   int i; int *one; int *temp; int swap; one=p; for(i=0;i<10;i++) {if((*p)>*(p+i)) {temp=p; p=(p+i);   (p+i)=temp; } } swap=*one; *one=*p; *p=swap;}(加粗划线的地方出现这样的错误:error C2106: “=”: 左操作数必须为左值),指针变量应该可以赋值的啊,为什么?
查看完整描述

1 回答

已采纳
?
慕粉3913390

TA贡献13条经验 获得超3个赞

p+i是地址 , 不是指针变量好么 

查看完整回答
反对 回复 2017-04-03
  • qq_盼望_2
    qq_盼望_2
    p保存的也是地址啊,不是也可以赋值吗,我定义p是指针变量,那p+i应该也是变量啊,还是不太懂
  • 慕粉3913390
    慕粉3913390
    p+i对于计算机来说是取值后的常量啦,p才是变量啊,
  • qq_盼望_2
    qq_盼望_2
    我懂了,因为p我已经赋值过了,所以p+i的值也就固定的,不能给他赋值了,是这个意思吧?
点击展开后面4
  • 1 回答
  • 0 关注
  • 1350 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信