vIllaInssss
vIllaInssss
采纳率64.7%
2021-03-18 17:34 阅读 105

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

10
#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函数

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

8条回答 默认 最新

  • 已采纳
    yueyuedog 蒟蒻一枚 2021-03-20 11:21
    void swap(complex &a, complex &b) {
    	complex tmp;
        tmp = a;
    	a = b;
    	b = tmp;
    }
    tmp是备份变量,利用它交换两个结构体其实和交换两个变量也是一样的,只不过不能在数值上操作。
    点赞 评论 复制链接分享
  • qq_34124780 爱晚乏客游 2021-03-18 17:47
    void swap(complex &a, complex &b)
    {
    	complex temp = a;
    	a = b;
    	b = temp;
    
    }
    点赞 1 评论 复制链接分享
  • ProfSnail ProfSnail 2021-03-18 17:44
    void swap(compex *a, complex*b){
        double tr, ti;
        tr = a->r;
        ti = a->i;
        a->r = b->r;
        a->i = b->i;
        b->r = tr;
        b->i = ti;
    }
    点赞 评论 复制链接分享
  • huanhuilong 幻灰龙 2021-03-18 17:46

    直接使用 std::swap 即可:

    #include<algorithm>

    using std::swap;

    swap(a1, a2);

    点赞 评论 复制链接分享
  • lu_fresh_student lu_fresh_student 2021-03-18 17:50
    struct complex *p;
    p = b;
    b = a;
    a = p;
    点赞 评论 复制链接分享
  • qq_53537301 天才东西 2021-03-19 20:16
    void swap(complex &a, complex &b)
    {
    	complex temp;
        temp = a;
    	a = b;
    	b = temp;
     
    }
    点赞 评论 复制链接分享
  • qq_46285118 静Yu 2021-03-23 17:36

    void swap(complax*a ,complax*b)

     

    {

    comlax t;

    t=a;

    a=b;

    b=t;


    }

    点赞 评论 复制链接分享
  • weixin_50188452 老虎中的小白Gentle 2021-03-25 15:56

    c语言的结构体是不能写方法的吧,不是C#才有的吗

     

    点赞 评论 复制链接分享

相关推荐