📜  C测验– 109 |问题5(1)

📅  最后修改于: 2023-12-03 15:00:12.710000             🧑  作者: Mango

C测验– 109 |问题5

本测验的第五个问题是关于 C 语言的。在这个问题中,您需要完成一个函数,该函数需要接收一个字符串作为参数并返回该字符串的长度。下面是示例函数签名:

int get_string_length(const char *);

你需要编写这个函数并确保它符合以下要求:

  • 如果传递的参数为空,则函数应返回0。
  • 如果传递的参数包含空字符,则函数应该在空字符之前停止计算字符串的长度。

接下来是一些示例测试用例:

ASSERT( get_string_length("abc") == 3 )
ASSERT( get_string_length("") == 0 )
ASSERT( get_string_length("Hello world!") == 12 )
ASSERT( get_string_length("Hello\0 world!") == 5 )

确保您的代码通过这些测试用例,并将您的代码片段置于 Markdown 代码块中,以供 review。

#include <stdio.h>

int get_string_length(const char * str){
    int len = 0;
    while(*str != '\0'){ // 停止在遇到空字符时
        len++;
        str++;
    }
    return len;
}

解释:

该函数使用了一个while循环,通过比较每个字符是否为'\0'来计算字符串长度。在遇到第一个空字符时,该函数停止计数并返回长度(len)。