C语言字符串长度(指针专题)(指针刚入门,帮我写写,不要写太难看不懂的)

Description

编写一函数len,求一个字符串的长度,注意该长度不计空格。要求用字符指针实现。在主函数中输入字符串,调用该len函数后输出其长度。

int len(char *sp)
{
//实现sp所指串的长度,不计空格。
}

Input

输入一个字符串,以回车结束,长度不超过100。

Output

输出一个整数,单独占一行。

Sample Input

What day is today?

Sample Output

15

#include <stdio.h>
int len(char *sp) 

    //实现sp所指串的长度,不计空格。
    int i=0;
    while ( *sp != '\0' )  //遇到字符串结束符时,结束循环
    {
        if ( *sp != ' ' ) i++; //不是空格时,累加长度
        sp++; //指针后移,指向下一个字符
    }
    return i; //返回长度

void main()
{
    char str[100];
    gets(str); //输入字符串
    printf("%d\n", len(str) ); //调用len()函数,输出长度值
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-12-02
char pr[50];
char *p;
int a=1;
*p=&pr
while(p!=='\0')
{
p=*(p+1);
a++;
}

a就是字符串的长度
指针p每次运行之后想后偏移1位,直到读到字符串结束的标志\0的时候结束;而此时a每次加1所以a就是字符串的长度追问

能照着题目的要求用函数写么 我想看看调用的时候和一些别的

相似回答