为什么用strlen()不能算出空格
来源:百度知道 编辑:UC知道 时间:2024/06/18 07:10:21
#include<stdio.h>
main()
{
char a[50];
scanf("%s",a);
printf("%d",strlen(a));
}
我要是输入"123 abc"
结果是3。
为什么空格后的没算。
要是我想算上空后的怎么办?
main()
{
char a[50];
scanf("%s",a);
printf("%d",strlen(a));
}
我要是输入"123 abc"
结果是3。
为什么空格后的没算。
要是我想算上空后的怎么办?
问题出在scanf()。
scanf()开始读取输入以后,会在遇到的第一个空白字符空格(blank)、制表符(tab)或者换行符(newline)处停止读取。
可以使用 scanf("%[^\n]s",a); 来解决问题。其中“%[^\n]”是说明只有在读入回车符时才终止读取。
用getchar()在一个循环中不断读取字符缓冲区中的字符直到'\n'为止也可以实现类似功能。就是麻烦了些。
空格算分隔符了吧
用getchar获取每个字符,判断是否是回车符,是的话就算字符串结束。再算组装起来的字符串。
为什么用strlen()不能算出空格
C语言里strlen这个关键字是干嘛用的?
strlen 是什么意思
strlen问题
去除字符串前导的“*”(不能用到strlen strcpy strcat等函数)
编程:用自定义函数实现字符串处理函数strcat、 strcpy、strcmp、strlen和strlwr的功能?
C语言编程:用自定义函数实现字符串处理函数strcat、 strcpy、strcmp、strlen和
c++中的strlen,sizeof,getline函数分别是什么意思,怎么用的
3、用自定义函数实现字符串处理函数strcat、 strcpy、strcmp、strlen和strlwr的功能。
关于sizeof和strlen !!!