C语言写一个函数求一字符串长度在main函数中输入字符串并输出长度

img

img

上面是我用这个代码输出的。但是如果是一个句子的话,它就不能输出它的长度。嗯,所以应该怎么改一下?

int len(char *p);
int main()
{
    int t=0;
    char a[20];
   
    scanf("%s",a);
    t=len(a);
    printf("The length of string is %d.",t);
    return 0;
}
int len(char *p)
{
    int n=0;
    while(*p!='\0'){
        p++;
        n++;
    }
    return (n);
}

数组开大一点,用gets_s函数读取一行

int len(char * p);
int main()
{
    int t = 0;
    char a[201];

    gets_s(a, 200);
    t = len(a);
    printf("The length of string is %d.", t);
    return 0;
}
int len(char * p)
{
    int n = 0;
    while (*p != '\0') {
        p++;
        n++;
    }
    return (n);
}