求教大佬 如何实现C语言结构体内容交换?

毕业设计驿站 课程设计 1
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
struct complex
{
    double r,i;
    complex() {r=0,i=0;}
    complex(double r1,double i1): r(r1),i(i1){}
};
void swap(complax*a ,complax*b)
{

}
int main()
{
  complex a1(1,2) , a2(4,6);
  swap(a1,a2)
  return 0
}

想通过swap交换a1 a2 的值

帮忙实现一下swap函数

回复

共4条回复 我来回复
  • 毕设货栈
    这个人很懒,什么都没有留下~
    评论
    void swap(compex *a, complex*b){
    &nbsp; &nbsp; double tr, ti;
    &nbsp; &nbsp; tr = a->r;
    &nbsp; &nbsp; ti = a->i;
    &nbsp; &nbsp; a->r = b->r;
    &nbsp; &nbsp; a->i = b->i;
    &nbsp; &nbsp; b->r = tr;
    &nbsp; &nbsp; b->i = ti;
    }
    
    0条评论
  • 源码工厂
    这个人很懒,什么都没有留下~
    评论
    void swap(complex &a, complex &b) {
        complex tmp;
        tmp = a;
        a = b;
        b = tmp;
    }
    

    tmp是备份变量,利用它交换两个结构体其实和交换两个变量也是一样的,只不过不能在数值上操作。

    0条评论
  • 毕设海岸
    这个人很懒,什么都没有留下~
    评论
    void swap(complex &a, complex &b)
    {
        complex temp;
        temp = a;
        a = b;
        b = temp;
    
    }
    
    0条评论
  • 代码工厂
    这个人很懒,什么都没有留下~
    评论
    void swap(complex &a, complex &b)
    {
        complex temp = a;
        a = b;
        b = temp;
    
    }
    
    0条评论

发表回复

登录后才能评论