1、c语言sizeof()和strlen(char *a)(注:c语言没有string类型的数据)
strlen()需要头文件<string.h>,该函数参数必须是字符型指针(char*),从代表该字符串的第一个地址开始遍历,直到遇到结束符'\0'。返回的长度大小不包括'\0'。
#include<stdio.h>
#include<string.h>
int main(){
char a[100];
int k=0;
gets(a);
int len=strlen(a);
printf("%d",len);
return 0;
}
sizeof()不要头文件,该函数只能计算静态数组所占空间,是运算符。
char ss[] = "0123456789";
sizeof(ss)为11,ss是数组,计算到'\0'位置,因此是(10+1)
char ss[100] = "0123456789";
sizeof(ss)为100,ss表示在内存中预分配的大小,100*1
2、c++语言string中L.length()和L.size()没区别,都必须加入头文件<string>,能连空格一起计算直到‘\n’
#include<iostream>
#include<string>
using namespace std;
int main(){
string a="sg fd";
int len=a.length();
cout<<len<<endl;
return 0;
}
输出5。