求带空格字符串长度的函数指针
时间: 2024-01-11 09:21:53 浏览: 31
以下是一个使用字符指针实现求带空格字符串长度的函数的例子:
```c
#include <stdio.h>
int My_strlen(char *x) {
int n;
for(n=0; *x!='\0'; n++) {
x++;
}
return n;
}
int main() {
char str[100];
gets(str);
int m;
m = My_strlen(str);
printf("%d", m);
return 0;
}
```
这个例子中,我们定义了一个函数`My_strlen`,它接受一个字符指针作为参数,并使用循环来遍历字符串,直到遇到字符串的结束符`\0`为止。在每次循环中,我们将指针向后移动一位,同时计数器`n`加一。后,函数返回计数器的值,即字符串的长度。
在主函数中,我们使用`gets`函数来输入一个带空格的字符串,并将其存储在字符数组`str`中。然后,我们调用`My_strlen`函数来计算字符串的长度,并将结果打印出来。
相关问题
如何用指针输入带空格的字符串
可以使用 `fgets()` 函数来输入带空格的字符串,同时使用指针来存储输入的字符串。
示例代码如下:
```c
#include <stdio.h>
int main() {
char str[100];
printf("请输入带空格的字符串:\n");
fgets(str, sizeof(str), stdin);
printf("输入的字符串是:%s", str);
return 0;
}
```
在上面的代码中,`fgets()` 函数接受三个参数,第一个参数是要存储输入的字符串的字符数组,第二个参数是字符数组的大小,第三个参数是输入流,此处使用的是标准输入 `stdin`。
使用 `fgets()` 函数可以避免因为空格等特殊字符而截断输入的问题。
用指针的方法输入带空格的字符串
可以使用 `fgets` 函数来输入带空格的字符串,它的函数原型为:
```c
char *fgets(char *str, int n, FILE *stream);
```
其中,`str` 是输入的字符串的存储地址,`n` 是要读取的最大字符数(包括空格和换行符),`stream` 是文件指针,一般使用 `stdin` 表示从标准输入中读取字符串。
下面是一个示例代码:
```c
#include <stdio.h>
int main() {
char str[100];
printf("请输入一个带空格的字符串:");
fgets(str, 100, stdin);
printf("输入的字符串为:%s\n", str);
return 0;
}
```
这个程序会提示用户输入一个带空格的字符串,然后使用 `fgets` 函数将其读入到 `str` 数组中,并最终输出这个字符串。