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