永发信息网

C语言中如何交换两个指针变量的的值

答案:6  悬赏:80  手机版
解决时间 2021-04-02 10:32
C语言中如何交换两个指针变量的的值
最佳答案
交换两个指针变量的的值有两种不同的形式:
在指针定义所在函数交换两个指针变量的值
这种交换,与交换两个整型变量的值方法相同,分三步:
先将pa存储到临时变量pt中,
再将pb存储到pa中,
最后将pt存储到pb中

通过自定义函数进行交换两个指针变量的值
这种交换,必须要传递两个指针变量的地址到自定义函数中(即函数的形参是二维指针),然后在函数中对收到的二维指针变量中的内容进行交换,即可实现实参的交换。
参考代码:

全部回答
定义一个指针变量temp,*temp=*p1;*p1=*p2;*p2=*temp;
int a, b;
int *p1=&a,*p2=&b,*temp;
temp=p1; p1=p2;p2=temp;
这样就完成交换
4 int main(void)
5 {
6 struct sum
7 {
8 int data;
9 int id;
10 }add;
11
12 int *p;
13 int *q;
14
15 add.data = 1;
16 add.id =2;
17 p = &add.data;
18 q = &add.id;
19 printf("before turn p = %d q = %d\n",*p,*q);
20 p = &add.id;
21 q = &add.data;
22 printf("after turn p = %d q = %d\n",*p,*q);
23
24 return 0;
25 }
#include
struct student
{
long num;
float score;
};
void main()
{
struct student a,b,c,*p1,*p2,*p3;
a.num = 1;
b.num = 2;
c.num = 3;
// 交换内容
p1=&a;
p2=&b;
c = *p1;
*p1 = *p2;
*p2 = c;
// 交换地址
p3 = p1;
p1 = p2;
p2 = p3;
}
定义一个中间变量t(也是结构体类型的):
t=p1;
p1=p2;
p2=t;
就行了追问不行啊。。。调试的时候显示error C2106: '=' : left operand must be l-value。。
该怎么解决额。。谢啦追答代码发来看看,qq:561190217追问你QQ验证问题的答案是。。= =追答tzklcy
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
贵州贵阳1040阳光工程老总为什么不经常下去
我想开矿山配件店取什么名字好
是-ze-漫画全集+番外下载
2016年自贡市荣县公务员考试时间
漫威和dc除了漫画外有没有官方的超级英雄小说
清炖大骨头怎样做好吃
请问MH 370是什么时间起飞,什么时间出事的?
龙战岑是谁
mp3比dts损失了到底多少?怎么听起来差别那么
技术求助◆电脑一直卡在正在重新启动
男人吃什么能抗衰老
现有4盒长方体的磁带长10厘米,宽5厘米 包装
家里的光纤猫有一个网关1和一个网关2,请问网
我用快快游戏盒下游戏时为什么显示器下面的工
发动机进水了之后评估价格会低多少
推荐资讯
散打比赛时最经常使用的拳法和腿法分别是什么
黄芪15g白芍15g桑寄生15g白术5g沙参10g菟丝子
王博能力咋样的,去一下雀斑会更自然吗?如何
鲜香菇炒小白菜怎么做好吃又简单
我是大连海事大学学生,航海专业,明年就要出
《咏柳》这首诗写的是早春还是晚春的景色?
意大利电信用的那个频段?
1+1在什么情况下=6
重生为人鱼的bl小说
三星s6手机4g网络有个 符号
如何用c语言中的数组来实现“i love you ”变
新鲜鹅肉放什么辣椒好吃
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?