C语言—每日选择题—Day69

第一题

1、以下程序的输出结果是( )

int main()
{
    char arr[2][4];
    strcpy (arr[0],"you");
    strcpy (arr[1],"me");
    arr[0][3]='&';
    printf("%s \n",arr);
    return 0;
}

A: you&me

B: you

C: me

D: err

答案及解析 A

这里重点就在strcpy,arr[0]是数组的行,我们可以认为二维数组就是一维数组的数组

所以二维数组的行就相当于每行的数组名,arr[0] 就是第一行这个数组的数组名

arr[0] [4] 代表的是一个一维的字符数组,相当于char (arr[0]) [4];

那数组名代表首元素地址,strcpy就是从首元素位置开始copy,就如上图那样

所以以此类推,答案为A

第二题

2、如下C程序,在64位处理器上运行后 sz 的值是什么( )

struct st
{
    int *p;
    int i;
    char a;
};
int sz = sizeof(struct st);

A: 12

B: 16

C: 24

D: 13

答案及解析 B

64位机器的指针为8字节

sizeof一个结构体类型,要考虑内存对齐的规则,相关博客:C/C++内存对齐规则(结构体、联合体、类)_clang编译器最大对齐数-CSDN博客

第三题

3、执行以下语句后的输出结果是( )

enum weekday
{
    sun,
    mon = 3,
    tue,
    wed
};
enum weekday workday;
workday = wed;
printf("%d\n",workday);

A: 3

B: 4

C: 5

D: 编译错误

答案及解析 C 

enum为枚举类型,mon赋值了3,那后续的tue和wed会依次递增,所以workday = 5

第四题

4、设有以下定义,则下面叙述中正确的是【多选】( )

union D
{
    int d1;
    float d2;
}d;

A: 变量d与各成员的地址相同

B: d.d1和d.d2具有相同的地址
C: 若给d.d2赋10后,d.d1中的值是10

D: 若给d.d1赋10后,d.d2中的值是10

答案及解析 A B 

AB:union是联合体,其地址空间大小,是最大的那个,共用同一个地址,所以起始位置都相同。

CD:这里浮点数的二进制存储和整数的二进制存储是不同的,所以读取也不同

第五题

5、假设C语言程序里使用 malloc 申请了内存,但是没有 free 掉,那么当该进程被kill之后,操作系统会( )


A: 内存泄露

B: segmentation fault(段错误)

C: core dump(核心转储)

D: 以上都不对

答案及解析 D

不管程序怎么用malloc,在进程结束的时候,程序开辟的内存空间都将会被操作系统回收,不存在泄漏和错误

相关推荐

  1. C语言每日选择题Day61

    2024-04-12 10:42:02       56 阅读
  2. C语言每日选择题Day63

    2024-04-12 10:42:02       43 阅读

最近更新

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

    2024-04-12 10:42:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-12 10:42:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-12 10:42:02       82 阅读
  4. Python语言-面向对象

    2024-04-12 10:42:02       91 阅读

热门阅读

  1. symfony框架介绍

    2024-04-12 10:42:02       37 阅读
  2. C#泛型的逆变协变

    2024-04-12 10:42:02       150 阅读
  3. C语言—每日选择题—Day70(需要看)

    2024-04-12 10:42:02       36 阅读
  4. svdpi.h源码

    2024-04-12 10:42:02       27 阅读
  5. 代码随想录算法训练营第四十四天|leetcode309、714题

    2024-04-12 10:42:02       106 阅读
  6. ORACLE查看数据库中用户,用户创建修改

    2024-04-12 10:42:02       123 阅读
  7. 力扣爆刷第117天之CodeTop100五连刷71-75

    2024-04-12 10:42:02       31 阅读
  8. ChatGPT 写作利器:探索ChatGPT在论文写作中的应用

    2024-04-12 10:42:02       41 阅读
  9. Transformer介绍

    2024-04-12 10:42:02       41 阅读
  10. PHP学习

    PHP学习

    2024-04-12 10:42:02      147 阅读