C语言王道练习题第七周两题

第一题

Description

输入一个学生的学号,姓名,性别,用结构体存储,通过 scanf 读取后,然后再 通过 printf 打印输出

Input

学号,姓名,性别,例如输入 101 xiongda m

Output

输出和输入的内容一致,如果输入的是 101 xiongda m,那么输出也是 101 xiongda m

代码

#include <stdio.h>

typedef struct student{
    int num;
    char name[20];
    char sex;
}stu;
int main() {
    stu s;
//    name数组变量是一个字符数组,它本身就是一个指向字符数组开头的指针。因此,不需要使用取地址运算符&来获取name数组的地址。
    scanf("%d%s %c",&s.num,s.name,&s.sex);//%c不排除空格,scanf()函数不加\n
    printf("%d %s %c\n",s.num,s.name,s.sex);
    return 0;
}

注意:

字符数组本身就是一个指向字符数组开头的指针。因此,不需要使用取地址运算符&来获取数组的地址。

第二题

Description

使用 C++的引用,注意提交时把代码选为 C++;在主函数定义字符指针 char *p, 然后在子函数内 malloc 申请空间,通过 fgets 读取字符串,然后在主函数中进 行输出;要求子函数使用 C++的引用,注意在 C++中从标准输入读取字符串, 需要使用 fgets(p,100,stdin)

Input

输入一个字符串,例如 I love C languag

Output

如果输入的是 I love C language,那么输出也是 I love C language

代码

#include <stdio.h>
#include <stdlib.h>

void modify_pointer(char *&p)//改变主函数p,加引用
{
    p = (char*)malloc(100);//申请空间
    fgets(p, 100, stdin);//如果使用 fgets 传入的是一个指针变量,中间参数是指针指向的空间大小
}
int main()
{
    char* p=NULL;
    modify_pointer(p);
    puts(p);
    free(p);
    return 0;
}

结果:

相关推荐

  1. XJTU大学计算机I C语言编程

    2024-01-25 23:40:01       55 阅读
  2. 王道c语言-选择排序

    2024-01-25 23:40:01       37 阅读
  3. 笔记

    2024-01-25 23:40:01       30 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-25 23:40:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-25 23:40:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-01-25 23:40:01       87 阅读
  4. Python语言-面向对象

    2024-01-25 23:40:01       96 阅读

热门阅读

  1. qml中QtObject类型的使用

    2024-01-25 23:40:01       54 阅读
  2. 关于C#中的Select与SelectMany方法

    2024-01-25 23:40:01       61 阅读
  3. C# DLL嵌套调用时修改生效

    2024-01-25 23:40:01       53 阅读
  4. 地址解析协议

    2024-01-25 23:40:01       63 阅读
  5. MongoDB聚合:$currentOp

    2024-01-25 23:40:01       55 阅读
  6. C语言|判断和循环相关题目

    2024-01-25 23:40:01       61 阅读
  7. 一次Rust重写基础软件的实践(二)

    2024-01-25 23:40:01       48 阅读
  8. named_struct

    2024-01-25 23:40:01       63 阅读
  9. 五、C#与数据库交互(数据存储过程与触发器)

    2024-01-25 23:40:01       60 阅读
  10. android gradle 使用总结

    2024-01-25 23:40:01       60 阅读