函数形参用指针变量写一个函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度
时间: 2024-01-09 20:11:04 浏览: 98
好的,这是一个比较简单的 C 语言编程问题。请看下面的代码:
```c
#include <stdio.h>
int strlen(char *str) {
int len = 0;
while (*str != '\0') {
len++;
str++;
}
return len;
}
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
int len = strlen(str);
printf("字符串长度为:%d\n", len);
return 0;
}
```
在上面的代码中,我们定义了一个 `strlen` 函数,它使用一个指向字符的指针变量 `str` 作为形参,用来指向要求长度的字符串。函数使用一个循环结构,遍历字符串中的每一个字符,直到遇到字符串的结束符 `\0` 为止,同时计数器 `len` 记录字符的个数。最后,函数返回计数器 `len` 的值,表示字符串的长度。
在 `main` 函数中,我们定义了一个字符数组 `str`,用于存储用户输入的字符串。使用 `scanf` 函数从控制台读取用户输入的字符串,并调用 `strlen` 函数计算字符串的长度。最后,使用 `printf` 函数输出结果。
请注意,我们在 `scanf` 函数中使用 `%s` 格式化字符串,这会导致缓冲区溢出的问题。如果用户输入的字符串长度超过了 `str` 数组的大小,程序会崩溃。为了更加安全地读取字符串,请使用 `fgets` 函数。
阅读全文