求带空格字符串长度的函数指针
时间: 2024-01-11 12:21:53 浏览: 97
以下是一个使用字符指针实现求带空格字符串长度的函数的例子:
```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`函数来计算字符串的长度,并将结果打印出来。
相关问题
描述 编写一函数len,求一个字符串的长度,注意该长度不计空格。要求用字符指针实现。在主函数中输入字符串,调用该len函数后输出其长度。 int len(char *sp) { //实现sp所指串的长度,不计空格。 } 输入 输入只有一组数据。输入一个字符串,以回车结束,长度不超过100。 输出 输出一个整数,即不计空格的字符串长度。
好的,我明白了。以下是符合您要求的代码:
```c
#include <stdio.h>
int len(char *sp) {
int count = 0;
while(*sp != '\0') {
if(*sp != ' ') { //不计空格
count++;
}
sp++;
}
return count;
}
int main() {
char str[101]; //字符串长度不超过100,需要留出一个位置存放'\0'
fgets(str, 101, stdin); //使用fgets函数读取一行字符串,包括空格
printf("%d", len(str)); //输出不计空格的字符串长度
return 0;
}
```
您可以将以上代码复制到您的 C 语言编译器中进行编译和运行,测试不计空格的字符串长度是否正确。
编写一函数len,求一个字符串的长度,注意该长度不计空格。要求用字符指针实现。在主函数中输入字符串,调用该len函数后输出其长度。 int len(char *sp) { //实现sp所指串的长度,不计空格。 } 输入 输入只有一组数据。输入一个字符串,以回车结束,长度不超过100。 输出 输出一个整数,即不计空格的字符串长度。 难度 一般 输入示例 What day is today? 输出示例 15
好的,我明白了。这是一道 C 语言编程题。以下是实现该函数的代码:
```c
#include <stdio.h>
int len(char *sp) {
int count = 0;
while (*sp != '\0') {
if (*sp != ' ') {
count++;
}
sp++;
}
return count;
}
int main() {
char str[101];
fgets(str, 101, stdin);
printf("%d\n", len(str));
return 0;
}
```
函数 `len` 的作用是计算字符串的长度(不包括空格)并返回该长度。在函数中,我们定义了一个计数器 `count`,然后遍历字符串。对于每个非空格字符,我们就将计数器加1。最后返回计数器的值即可。
在 `main` 函数中,我们通过 `fgets` 函数读入字符串,并将其传给 `len` 函数。然后将返回值输出即可。
注意,在输入字符串时,我们使用了 `fgets` 函数,它可以读取一行字符串,并将其存储在指定的字符数组中。这里我们将字符数组的长度设置为101,是因为最多只能输入100个字符,加上一个字符串结束符 `\0`。
阅读全文