@流年. 2022-04-04 19:13 采纳率: 66.7%
浏览 26
已结题

c语言小问题,求解答

定义一个结构体类型 student,包含三个变量,分别存储自 己的姓名、性别、学号 定义一个函数,实现交换两个 student 结构体内容的 功能。 定义 2 个 student 结构体变量 stu1,stu2 分别输入两个结构体变量的值 分别打印 stu1, stu2 中的内容,之后利用自己定义的函数 交换 stu1, stu2 中的内容,再分别打印 stu1,stu2

  • 写回答

1条回答 默认 最新

  • 吉拉尔 2022-04-04 23:48
    关注
    #include <stdio.h>
    #include <string.h>
    
    typedef struct Student
    {
        char name[20];
        int gender;
        int id;
    } Student;
    
    void swap(Student *a, Student *b)
    {
        char tmp[20];
        strcpy(tmp, a->name);
        strcpy(a->name, b->name);
        strcpy(b->name, tmp);
    
        int tmp_id = a->id;
        a->id = b->id;
        b->id = tmp_id;
    
        int tmp_gender = a->gender;
        a->gender = b->gender;
        b->gender = tmp_gender;
    }
    
    void print(Student s, char *title)
    {
        printf("%s:  name: %s, gender: %s, id: %d\n", title, s.name, ((s.gender == 0) ? "male" : "female"), s.id);
    }
    
    int main()
    {
        Student s1 = {"aaa", 0, 123};
        Student s2 = {"bbb", 1, 234};
        print(s1, "s1");
        print(s2, "s2");
        swap(&s1, &s2);
        print(s1, "s1");
        print(s2, "s2");
    }
    
    /* output:
        s1:  name: aaa, gender: male, id: 123
        s2:  name: bbb, gender: female, id: 234
        s1:  name: bbb, gender: female, id: 234
        s2:  name: aaa, gender: male, id: 123
    */
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月20日
  • 已采纳回答 4月12日
  • 创建了问题 4月4日

悬赏问题

  • ¥15 为什么apriori的运行时间会比fp growth的运行时间短呢
  • ¥15 帮我解决一下膳食平衡的线性规划模型的数据实例
  • ¥40 万年历缺少农历,需要和阳历同时显示
  • ¥250 雷电模拟器内存穿透、寻基址和特征码的教学
  • ¥200 比特币ord程序wallet_constructor.rs文件支持一次性铸造1000个代币,并将它们分配到40个UTXO上(每个UTXO上分配25个代币),并设置找零地址
  • ¥15 关于Java的学习问题
  • ¥15 如何使用chatgpt完成文本分类任务?
  • ¥15 已知速度v关于位置s的等式,怎么转化为已知位置求速度v的等式
  • ¥15 我有个餐饮系统,用wampserver把环境配置好了,但是后端的网页却进去,是为什么,能不能帮远程一下?
  • ¥15 R运行没有名称为"species"的插槽对于此对象类"SDMmodelCV"