📜  C测验– 104 |问题4(1)

📅  最后修改于: 2023-12-03 14:40:26.127000             🧑  作者: Mango

C测验– 104 | 问题4

欢迎参加 C 测验 104。在接下来的问题中,我们将考察对于 C 语言中的指针的理解和应用。

问题描述

下面的代码段中,给出了一个字符串数组 names 和一个整数指针 count。请编写一个函数 stringCount,函数接受 namescount 作为参数,并计算字符串数组 names 中字符串的个数,并将结果存储在 count 指针所指向的变量中。

#include <stdio.h>

void stringCount(char **names, int *count) {
    int i = 0;
    *count = 0;

    while (names[i] != NULL) {
        (*count)++;
        i++;
    }
}

int main() {
    char *names[] = {"Alice", "Bob", "Charlie", "David", NULL};
    int count;
    stringCount(names, &count);
    printf("Number of strings in array: %d\n", count);
    return 0;
}

请在给定的代码中修改或补充 stringCount 函数,使得程序输出 Number of strings in array: 4

解答
void stringCount(char **names, int *count) {
    int i = 0;
    *count = 0;

    while (names[i] != NULL) {
        (*count)++;
        i++;
    }
}

在上述代码中,我们首先给 count 变量赋初值为 0。然后,我们使用一个循环遍历字符串数组 names,每次循环将 count 的值增加 1,直到遇到字符串数组的结尾标记 NULL。最后,我们可以通过指针打印出字符串的个数。

请注意,在本题中,names 是一个存储了多个字符串的字符串数组,每个字符串都以 NULL 结尾。我们可以通过检查是否遇到了 NULL 来确定字符串的个数。

如果你对上述解答中的代码片段有任何疑问,请随时提问。