c语言怎么交换两个结构体

avatar
作者
猴君
阅读量:0

C语言中,可以通过使用临时变量来交换两个结构体的值。

以下是一个示例代码:

#include<stdio.h> #include<string.h>  // 定义结构体 struct Student {     char name[20];     int age; };  void swap(struct Student *s1, struct Student *s2) {     struct Student temp; // 临时变量     temp = *s1; // 将s1的值拷贝给temp     *s1 = *s2; // 将s2的值拷贝给s1     *s2 = temp; // 将temp的值拷贝给s2 }  int main() {     struct Student s1, s2;          // 初始化s1的值     strcpy(s1.name, "John");     s1.age = 20;          // 初始化s2的值     strcpy(s2.name, "Alice");     s2.age = 25;          printf("交换前的值:\n");     printf("s1:name = %s, age = %d\n", s1.name, s1.age);     printf("s2:name = %s, age = %d\n", s2.name, s2.age);          // 调用swap函数交换s1和s2的值     swap(&s1, &s2);          printf("交换后的值:\n");     printf("s1:name = %s, age = %d\n", s1.name, s1.age);     printf("s2:name = %s, age = %d\n", s2.name, s2.age);          return 0; } 

在上述代码中,我们定义了一个Student结构体,并声明了一个swap函数来交换两个结构体的值。通过在main函数中初始化两个结构体的值,并调用swap函数来交换它们的值。最后,我们打印交换后的结果。

输出结果如下:

交换前的值: s1:name = John, age = 20 s2:name = Alice, age = 25 交换后的值: s1:name = Alice, age = 25 s2:name = John, age = 20 

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!