题目:写一个函数,求一个字符串的长度,在 main 函数中输入字符串,并输出其长度。

程序分析:定义一个函数 length,使用指针遍历字符串,每遍历一个字符,计数器加1,直到遇到字符串的结束符 \0,然后返回计数器的值。

实例

#include <stdio.h>

// 求字符串长度
int length(char *s) {
    int i = 0;
    while (*s != '\0') {
        i++;
        s++;
    }
    return i;
}

int main() {
    int len;
    char str[20];

    printf("请输入字符串:\n");
    scanf("%s", str);

    len = length(str);

    printf("字符串有 %d 个字符。\n", len);

    return 0;
}

以上程序执行输出结果为:

请输入字符串:
www.runoob.com
字符串有 14 个字符。

在上述代码中,我们定义了一个函数 length,它的参数是一个字符指针 s,表示待计算长度的字符串。使用一个循环来遍历字符串,每遍历一个字符,计数器 i 就加1。直到遇到字符串的结束符 \0,循环结束。最后返回计数器的值,即字符串的长度。

main 函数中,我们输入一个字符串并将其存储在字符数组 str 中。然后调用函数 length 计算字符串的长度,并将结果打印输出。

注意,在使用 scanf 函数输入字符串时,需要确保输入的字符串不会超出字符数组的大小,否则会导致缓冲区溢出。上述示例中,我们假设输入的字符串长度不超过 19 个字符,以留出一个位置存储结束符 \0

标签: c语言, c语言教程, c语言技术, c语言学习, c语言学习教程, c语言下载, c语言开发, c语言入门教程, c语言进阶教程, c语言高级教程, c语言面试题, c语言笔试题, c语言编程思想, c语言练习, c语言练习题