用字符指针指向从键盘输入的字符串,编写程序,计算输入的字待串的长度。输入结束时的换行符不作为字符计入其长度。(采用函数调用,指针作为参数)c语言
时间: 2024-03-06 17:47:14 浏览: 19
好的,下面是对应的 C 代码:
```c
#include <stdio.h>
int getLength(char* str);
int main() {
printf("请输入一个字符串,以回车结束:\n");
char str[100];
gets(str); // 输入字符串
int len = getLength(str); // 计算字符串长度
printf("该字符串长度为:%d\n", len);
return 0;
}
int getLength(char* str) {
int len = 0;
while (*str != '\0' && *str != '\n') { // 只要未到字符串末尾或换行符
len++; // 字符数加一
str++; // 指针指向下一个字符
}
return len;
}
```
这里使用函数 `getLength` 计算字符串长度,传入的参数是字符指针 `str`,表示待计算的字符串。函数中使用一个整型变量 `len` 记录字符数,初始值为 0。然后使用一个循环,只要未到字符串末尾或换行符,就将字符数加一,并将指针指向下一个字符。最后返回计数结果。
在 `main` 函数中,首先使用 `printf` 输出提示信息,然后使用 `gets` 输入字符串,它会读取一行字符串,以换行符结尾,但是不会把换行符包含在内。接着调用 `getLength` 函数计算字符串长度,最后使用 `printf` 输出结果。需要注意的是,`gets` 函数已经被标记为不安全的函数,建议使用更安全的函数 `fgets`。