Menu
CoddyTech

使用 strlen()

本课属于 Coddy C 学习旅程的“逻辑与流程”单元。第 15 课,共 63 课。

你已经学会了如何从用户输入中读取字符串,现在需要一种方法来确定这些字符串的长度。C 提供了 strlen() 函数,它来自 <string.h> 库,专门用于此目的。

strlen() 函数会统计字符串中的字符数,并在遇到空终止符 \0 时停止。需要注意的是,它不会将空终止符计入字符数,只统计实际可见的字符。

#include <stdio.h>
#include <string.h>

char word[] = "Hello";
int length = strlen(word);
printf("Length: %d\n", length);  // 输出:Length: 5

要使用 strlen(),你必须在程序开头包含 <string.h> 头文件。这个函数接受一个字符串作为参数,并返回一个整数,表示空终止符之前的字符数。

当你需要知道字符串占用多少空间、验证输入长度,或执行依赖字符串大小的操作时,这个函数特别有用。它是 C 编程中最常用的字符串函数之一。

challenge icon

挑战

简单

编写一个 C 程序,从输入中读取多个单词,并使用 strlen() 函数分析它们的长度。程序应当:

  1. 读取一个整数 n,表示要处理的单词数量
  2. 对每个单词,共 n 个:
    • 声明一个包含 50 个元素的字符数组,用来存储单词
    • 使用 scanf 读取单词
    • 使用 strlen() 计算单词的长度
    • 按照指定格式输出单词及其长度
  3. 处理完所有单词后,计算并输出所有单词的字符总数
  4. 找出并输出遇到的最长单词的长度

记得包含 <string.h> 头文件,以使用 strlen() 函数。

输出应按以下格式显示结果:

Word: [word] - Length: [length]
Word: [word] - Length: [length]
...
Total characters: [total]
Longest word length: [max_length]

例如,如果输入为:

3
hello
programming
C

输出应为:

Word: hello - Length: 5
Word: programming - Length: 11
Word: C - Length: 1
Total characters: 17
Longest word length: 11

这个挑战考查你使用 strlen() 测量字符串长度、使用循环处理多个字符串,以及根据字符串长度数据进行计算的能力。

亲手试试

    // TODO: 在这里编写你的代码
    // 用循环处理每个单词
    // 对每个单词:
    // 声明一个包含 50 个元素的字符数组
    // 用 scanf 读取单词
    // 用 strlen() 计算长度
    // 输出单词及其长度
    // 更新 total_characters 和 max_length
    
    // 输出最终结果
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

逻辑与流程中的所有课

自己练习: C 在线编译器