啊哈,本蒟蒻又来更新了,希望大家能够喜欢 QWQ
一、char
类型求长度
函数:strlen()
示例:
#include <bits/stdc++.h> //注意,用的是万能库
using namespace std;
int main ()
{
char a[1000];
cin>>a;
cout<<strlen(a);
return 0;
}
运行结果:
strlen
函数用法:strlen(变量名)
然后我突发奇想, 那么,往strlen
里面填字符串会发生什么呢
#include <bits/stdc++.h>
using namespace std;
int main ()
{
cout<<strlen("abcd");
return 0;
}
也可以计算出字符串的长度!
这说明,strlen()
的括号里不仅可以填变量名
,还可以直接填字符串(注意引号)
还有个小问题,sizeof
和strlen
有什么区别?
-
sizeof
操作符的结果类型是size_t
,该类型保证能容纳实现所建立的最大对象的字节大小。 -
sizeof
是运算符,strlen
是函数。 -
sizeof
可以用类型做参数,strlen
只能用char
做参数,且必须是以\0
结尾的。 -
sizeof
在编译时期就计算出来,strlen
在运行之后才能计算出来。 -
strlen
计算字符串的具体长度(只能是字符串),不包括字符串结束符。返回的是字符个数。sizeof
计算声明后所占的内存数(字节大小),不是实际长度。
二、string
类型求长度
.size()
函数与.length()
示例:
#include <bits/stdc++.h> //我爱万能库
using namespace std;
int main ()
{
/*/
没有用万能库的同学,是运行不了这个程序的,两种方法解决:
1、#include<iomanip>
#include<iostream>
iostream是备用的,不加也可以
2、自觉补上万能库(你要是不用,别人造这个库干嘛)
/*/
string ch;
cin>>ch;
cout<<ch.size()<<" "<<ch.length();
return 0;
}