如何在c語言中計算字符串長度?
C語言計算字符串長度
1、自定義函數求長度
2、使用strlen()函數
3、使用sizeof()操作符
4、使用length()函數
利用自定義函數的方法:
int cont_str(char *s) { int i = 0; while ( str[i++] != '\0') ; return i; }
利用string頭文件中的strlen()函數:
strlen(str); //假設str為待求的字符串數組名
使用sizeof()操作符
sizeof(str)/sizeof(str[0]); //假設str為待求的字符串數組名
使用length()函數
char a[10] std::cin>>a; length=a.length()
注意:
1、strlen()函數求出的字符串長度為有效長度,既不包含字符串末尾結束符 ‘\0’。
2、sizeof()操作符求出的長度包含字符串末尾的結束符 ‘\0’。
3、length()函數求出的字符串長度不包含字符串末尾結束符’\0’。
4、當在函數內部使用sizeof()求解由函數的形參傳入的字符數組的長度時,得到的結果。
5、為指針的長度,既對應變量的字節數,而不是字符串的長度,此處一定要小心。
6、C/C++的strlen(str)和str.length()和str.size()都可以求字符串長度。其中str.length()和str.size()是用于求string類對象的成員函數,strlen(str)是用于求字符數組的長度,其參數是char*。
7、這三種函數strlen、length、size函數計算的字符串長度都不算最后的操作符’\0’。
strlen函數用之前需要先對字符數組定義,例如char str[]={“hello world”};或者char str[]={‘h’,‘e’,‘l’,‘l’,‘o’,’ ‘,‘w’,‘o’,‘r’,‘l’,‘d’,’\0’}。
8、getchar()就是從鍵盤獲取字符,直到回車為止。
第一種:strlen(char*)函數求的是字符串的實際長度,它求得方法是從開始到遇到第一個’\0’,如果你只定義沒有給它賦初值,這個結果是不定的,它會從aa首地址一直找下去,直到遇到’\0’停止。
第二種:sizeof(),求所占總空間的字節數。
strlen函數用法見下鏈接:https://blog.csdn.net/u012209626/article/details/47449885cin.get()函數、cin.getline()函數、getline()函數、gets()函數、getchar()函數用法見下鏈接:https://www.cnblogs.com/qiang-wei/p/9332201.html