繁体   English   中英

c语言字符串长度

[英]length of string in c language

我写了这段代码:

    printf("enter a string: ");
    scanf("%s",C); // C= "Hello world this is a string"

    printf("%d\n",strlen(C));

    temp=com0(C);

这段代码显示字符串的长度是 5,这也意味着这是第一个单词的长度,我只需要得到完整的长度,但这不是重点,重要的是我必须将整个字符串传递给函数也只打印第一个单词的长度,它应该打印整个长度

这是函数的代码:

bool com0(char k[]){
    printf("%d\n",strlen(k));
    if(k[0]>='a' && k[0] <= 'z'){

                    return com1(nextchar(k+1));
    }
    else{
        return false;
    }
}

它也打印 5 !

这是执行的结果:

在此处输入图像描述

使用fgets而不是scanf解决了这个问题!

printf("enter a string: ");
fgets(C,sizeof(C),stdin);
C[strcspn(C,"\n")] = 0; // C = "Hello world this is a string"
printf("%d\n",strlen(C)); // print 28

    temp=com0(C);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM