C语言练习题-C语言练习题实例70
题目:写一个函数,求一个字符串的长度,在 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
。