概述
已完成 0/10 个问题
问题:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
信息
C 测验 8 - 知行者
您已完成过测验,因此您不能再测验。
测验载入中...
您必须登入或注册才能开始测验。
必须先完成以下测验才能开始:
测验结果
答对 0/10 个问题
答题时间:
时间已花费
您获得 0/0 分数 (0)
类别
- 未分类0%
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 已答
- 回顾
-
以下关于函数指针的说法,正确的是
- 1.
- 2.
- 3.
- 4.
1/10问题正确函数指针的类型必须与指向函数的返回类型和参数类型一致,否则会导致类型不匹配。
错误函数指针的类型必须与指向函数的返回类型和参数类型一致,否则会导致类型不匹配。
-
以下代码的输出结果是 int (*func)(int) = NULL; func = &printf; func("Hello, World!");
- 1.
- 2.
- 3.
- 4.
2/10问题正确printf 的函数签名与 int (*func)(int) 不匹配,导致编译错误。
错误printf 的函数签名与 int (*func)(int) 不匹配,导致编译错误。
-
以下关于 restrict 关键字的说法,正确的是
- 1.
- 2.
- 3.
- 4.
3/10问题正确restrict 用于告诉编译器指针指向的内存区域是唯一的,避免指针别名问题。
错误restrict 用于告诉编译器指针指向的内存区域是唯一的,避免指针别名问题。
-
以下代码的输出结果是 int x = 5; int *const p = &x; *p = 10; printf("%d", x);
- 1.
- 2.
- 3.
- 4.
4/10问题正确int *const p 表示 p 是一个常量指针,指向的地址不能改变,但可以通过 p 修改 x 的值。
错误int *const p 表示 p 是一个常量指针,指向的地址不能改变,但可以通过 p 修改 x 的值。
-
以下关于 inline 关键字的说法,正确的是
- 1.
- 2.
- 3.
- 4.
5/10问题正确inline 函数的定义可以放在源文件中,但通常放在头文件中以便多个文件使用。
错误inline 函数的定义可以放在源文件中,但通常放在头文件中以便多个文件使用。
-
以下代码的输出结果是 int x = 5; int *p = &x; int *q = p; *q = 10; printf("%d", x);
- 1.
- 2.
- 3.
- 4.
6/10问题正确q 和 p 指向同一块内存,*q = 10 修改了 x 的值,因此输出 10。
错误q 和 p 指向同一块内存,*q = 10 修改了 x 的值,因此输出 10。
-
以下关于 __attribute__ 的说法,正确的是
- 1.
- 2.
- 3.
- 4.
7/10问题正确__attribute__ 是 GCC 扩展,可以用于指定函数的调用约定、对齐方式等。
错误__attribute__ 是 GCC 扩展,可以用于指定函数的调用约定、对齐方式等。
-
以下代码的输出结果是 int x = 5; int *p = &x; int **pp = &p; **pp = 10; printf("%d", *p);
- 1.
- 2.
- 3.
- 4.
8/10问题正确**pp = 10 修改了 x 的值,*p 输出 x 的值,即 10。
错误**pp = 10 修改了 x 的值,*p 输出 x 的值,即 10。
-
以下关于 _Generic 关键字的说法,正确的是
- 1.
- 2.
- 3.
- 4.
9/10问题正确_Generic 是 C11 标准引入的,用于实现泛型编程。
错误_Generic 是 C11 标准引入的,用于实现泛型编程。
-
以下代码的输出结果是 int x = 5; int y = x + (x = 10); printf("%d", y);
- 1.
- 2.
- 3.
- 4.
10/10问题正确x + (x = 10) 中 x 的修改和读取顺序未定义,导致未定义行为。
错误x + (x = 10) 中 x 的修改和读取顺序未定义,导致未定义行为。