[英]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.