用函数形参用数组名写一个函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度
时间: 2024-01-09 20:11:04 浏览: 85
好的,这是一个使用数组名作为函数形参的 C 语言编程问题。请看下面的代码:
```c
#include <stdio.h>
int strlen(char str[]) {
int len = 0;
while (str[len] != '\0') {
len++;
}
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` 函数输出结果。
与之前的例子不同,这次我们使用了数组名作为函数形参,而不是指针变量。在函数定义中,数组名 `str[]` 实际上是指针常量,它存储了数组的首地址。因此,我们可以像使用指针变量一样,使用数组名来访问数组元素。注意,在函数定义中,我们并没有指定数组的大小,这是因为在 C 语言中,数组名作为形参时,实际上是一个指针,不需要指定大小。
阅读全文