C 指针 测试 3

5 Sept 2024 | 2 分钟阅读

11) 根据 ANSI 规范,如何使用带命令行参数的 main() 函数?

  1. int char main(int argc, *argv)
  2. int main (int argc, char *argv[])
  3. int main() { int char (*argv argc); }
  4. 以上都不是

正确选项是 (b)。

说明

在某些情况下,有必要在执行特定代码时为 C 编程提供命令行值,因为程序的代码是从外部控制的。这些命令行值称为命令行参数。命令行参数由 main() 函数处理。

使用带命令行参数的 main() 函数是:

int main (int argc, char *argv[])

在这里,argv[] 指的是指向传递给程序的每个参数的指针数组,而 argc 是传递的参数数量。

12) 下面的 C 语句有什么错误?

  1. 内存会被分配,但无法容纳 int 值
  2. 类型转换不当
  3. 将抛出运行时错误
  4. 语句没有问题

正确选项是 (d)。

说明

在给定的 C 语句中,int 和 unsigned 的大小相同。因此,内存分配没有问题。

因此,给定的 C 语句没有错误。

13) 为下面的程序选择正确的选项。

  1. 第一个 printf() 打印的值小于第二个
  2. 第二个 printf() 打印的值小于第一个
  3. 两个 printf() 都将打印相同的值
  4. 代码有错误

正确选项是 (c)。

说明

每种类型的指针变量占用的内存量都相同,与数据类型无关。

因此,两个 printf() 语句都将打印相同的值。

14) 以下程序的输出是什么?

  1. C++ ++
  2. C++ C++
  3. ++ ++
  4. 编译错误

正确选项是 (a)。

说明

第一个打印语句,即 printf("%s ", a); 用于打印存储在指针 a 中的值。因此,输出中会打印 C++。

在 a++ 之后,a 指向字符串 "++"。

因此,第二个打印语句,即 printf("%s ", a); 打印 ++。

因此,程序的组合输出是 C++ ++。

15) 在下面的语句中,"pf" 表示什么?

  1. pf 是一个指针
  2. pf 是一个函数指针
  3. pf 是一个返回 int 的函数指针
  4. 以上都不是

正确选项是 (c)。

说明

在给定的语句中,“pf”既是指针,也保存着函数引用。

因此,“pf”表示一个返回 int 的函数指针。