C语言中如何交换两个指针变量的的值
交换两个指针变量的值而不是交换他们所指向的东西的值比如说p1原指向结构体变量a,p2原指向结构体变量b,怎样让p1指向b,p2指向a?...
交换两个指针变量的值 而不是交换他们所指向的东西的值
比如说p1原指向结构体变量a,p2原指向结构体变量b,怎样让p1指向b,p2指向a? 展开
比如说p1原指向结构体变量a,p2原指向结构体变量b,怎样让p1指向b,p2指向a? 展开
8个回答
展开全部
#include<stdio.h>
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;
}
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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int a, b;
int *p1=&a,*p2=&b,*temp;
temp=p1; p1=p2;p2=temp;
这样就完成交换
int *p1=&a,*p2=&b,*temp;
temp=p1; p1=p2;p2=temp;
这样就完成交换
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
定义一个中间变量t(也是结构体类型的):
t=p1;
p1=p2;
p2=t;
就行了
t=p1;
p1=p2;
p2=t;
就行了
更多追问追答
追问
不行啊。。。调试的时候显示error C2106: '=' : left operand must be l-value。。
该怎么解决额。。谢啦
追答
代码发来看看,qq:561190217
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询