求c语言大神指教,指针
展开全部
题目9:仅仅是对指针的值做了互换,没有通过指针来操作它引用的变量的值,所以变量m,n 的值不变。
*p=&m;的作用,把变量m的地址赋值给指针p,指针p指向变量m(指针p中保存了变量m的地址)。*q=&n;同理。
r=p;指针r中保存了指针p的值(也就是变量m的地址);
p=q;指针p的值改变成为q的值(变量n的地址);
q=r;指针q的值变为r的值(变量m的地址);
这3句的目的就是将指针p和指针q的值互换,让他们指向对方曾经指向的变量。
*p,*q的作用是读取指针指向的变量的值。所以现在指针p指向的是变量n,所以输出是2;
q指向的是变量m,所以输出是1
题目10:是通过指针修改变量的值。
*p=*p1*(*p2);相当于c=a*b;所以输出是3
备注:指针前的*的优先级高于乘法的*
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询