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

   2025-02-13 3250
核心提示:C语言中,可以通过使用临时变量来交换两个结构体的值。以下是一个示例代码:#includestdio.h#includestring.h// 定义结构体struc

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 = 20s2:name = Alice, age = 25交换后的值:s1:name = Alice, age = 25s2:name = John, age = 20

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言