推荐答案
// www.javascriptcn.com code example
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello, World!";
size_t length = strlen(str);
printf("The length of the string is: %zu\n", length);
return 0;
}本题详细解读
1. strlen 函数的作用
strlen 是 C 标准库中的一个函数,用于计算字符串的长度。它从字符串的起始位置开始,逐个字符地遍历,直到遇到字符串结束符 \0 为止,返回的值为字符串中字符的个数,不包括 \0。
2. 函数原型
size_t strlen(const char *str);
str:指向要计算长度的字符串的指针。- 返回值:返回字符串的长度,类型为
size_t。
3. 使用示例
// www.javascriptcn.com code example
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello, World!";
size_t length = strlen(str);
printf("The length of the string is: %zu\n", length);
return 0;
}- 在这个示例中,
str是一个包含"Hello, World!"的字符数组。 strlen(str)计算字符串的长度,结果为13,因为"Hello, World!"包含 13 个字符(不包括\0)。%zu是size_t类型的格式化输出符号。
4. 注意事项
strlen只能用于以\0结尾的字符串,如果字符串没有正确以\0结尾,可能会导致未定义行为。strlen返回的类型是size_t,通常是一个无符号整数类型,因此在格式化输出时应使用%zu。
5. 常见错误
- 忘记包含
<string.h>头文件,导致编译错误。 - 使用
strlen计算非字符串(如字符数组未以\0结尾)的长度,导致未定义行为。