C String 测试 4

2025 年 3 月 28 日 | 阅读 3 分钟

16) 下列程序的输出是什么?

  1. this is javatpoint with c and java
  2. javatpoint with c and java
  3. java
  4. 编译错误

正确选项是 (b)。

说明

strstr() 函数返回指向给定字符串中匹配字符串的第一次出现的指针。它用于从第一次匹配到最后一个字符返回子字符串。

语法

char *strstr(const char *string, const char *match)

string: 表示要从中搜索子字符串的完整字符串。

match: 表示要在完整字符串中搜索的子字符串。

因此,上述程序的输出是 javatpoint with c and java。

17) 下列程序的输出是什么?

  1. 5 9
  2. 9 20
  3. 2 9
  4. 2 5

正确选项是 (c)。

说明

strlen(x) 函数用于查找字符串 'x' 的长度。在程序中,字符串的长度是直到 '\0' 的字符数。因此,字符串长度输出为 2。

sizeof(x) 函数用于查找字符串 'x' 的大小。在程序中,sizeof() 返回整个数组的大小。因此,数组大小输出为 9。

因此,程序的组合输出是 2 9。

18) 如果指针的大小是 4 字节,则以下程序的输出是什么?

  1. 22, 4
  2. 20, 4
  3. 20, 5
  4. 25,4

正确选项是 (b)。

说明

步骤 1: char *stri[] = {"Java", "C", "Android", "Embedded", "JS"}; 变量 stri 被声明为 5 个字符串数组的指针。

步骤 2: printf("%d, %d", sizeof(stri), strlen(stri[0]));

Sizeof(stri) 表示 5*4 字节 = 20 字节。因此,它打印 '20'。

Strlen(stri[0]) 变为 strlen(Java)。因此,它打印 '4'。

因此,程序的输出是 20, 4。

19) 下列程序的输出是什么?

  1. o
  2. t
  3. p
  4. 编译错误

正确选项是 (c)。

说明

语句 printf("%c\n", "javatpoint"[5]); 打印字符串 "javatpoint" 的第 6 个字符。

因此,程序的输出是 'p'

20) 在 16 位平台上,假设 2022 是字符串 "Welcome" 的内存地址(在 DOS 的 Turbo C 下),以下程序的输出是什么?

  1. 2022 Programming
  2. Welcome Programming
  3. Welcome 2022
  4. 编译错误

正确选项是 (a)。

说明

在语句 printf("%u %s\n", &"Welcome", &"Programming");

%u 格式说明符告诉编译器打印 "Welcome" 的内存地址。

%s 格式说明符告诉编译器打印字符串 "Programming"。

因此,程序的输出是 "2022 Programming"