C語言計算字符串長度,可以手動計算也可以使用庫函數(shù)或者sizeof()操作符。
公司主營業(yè)務:網(wǎng)站建設、做網(wǎng)站、移動網(wǎng)站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)建站是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)建站推出城區(qū)免費做網(wǎng)站回饋大家。
方法:
自定義函數(shù)求長度
使用strlen()函數(shù)
使用sizeof()操作符
自定義函數(shù):
int cont_str(char *s)
{
int i = 0; ? ?
while ( str[i++] != '\0')? ?;
return i;
}
使用string頭文件中的strlen()函數(shù):
strlen(str); //假設str為待求的字符串數(shù)組名
使用sizeof()操作符:
sizeof(str)/sizeof(str[0]); //假設str為待求的字符串數(shù)組名
注意:
strlen()函數(shù)求出的字符串長度為有效長度,既不包含字符串末尾結束符 ‘\0’;
sizeof()操作符求出的長度包含字符串末尾的結束符 ‘\0’;
當在函數(shù)內部使用sizeof()求解由函數(shù)的形參傳入的字符數(shù)組的長度時,得到的結果為指針的長度,既對應變量的字節(jié)數(shù),而不是字符串的長度,此處一定要小心。
C語言中字符串長度的函數(shù)是strlen(),一個字符的長度為1;
函數(shù)原型:
unsigned int strlen (char *s);頭文件:
#include string.h參數(shù)說明:s為指定的字符串;
功能說明:strlen()用來計算指定的字符串s 的長度,不包括結束字符'\0';
返回值:返回字符串s 的字符數(shù);
注意:strlen() 函數(shù)計算的是字符串的實際長度,遇到第一個'\0'結束。
示例:
#includestdio.h#includestring.hint main(){ char str[] = "ab\nxyz";//\n為回車字符,占一個字節(jié) printf("strlen(str)=%d\n", strlen(str)); return 0;}//輸出結果:strlen(str)=6 收起
strlen:計算字符串長度的庫函數(shù)名。
str:通常,程序員喜歡用它作 字符串 變量名。它是string(英文詞字符串的縮寫)。
len:通常,程序員喜歡用它作 變量名。它是 length(英文詞長度的縮寫)。
例如:
char str[20]="I am a student";
int len;
len = strlen(str);
printf("the string length is: %d",len);
擴展資料:
函數(shù)原型
extern?unsigned?int?strlen(char?*s);
在Visual C++ 6.0或Dev-C++中,原型為size_t?strlen(const?char?*string);,其中size_t實際上是unsigned int,在VC6.0或Dev-C++中可以看到這樣的代碼:
typedef?unsigned?int?size_t;
頭文件:string.h或cstring
格式:strlen (字符指針表達式)
功能:計算給定字符串的(unsigned int型)長度,不包括'\0'在內
說明:返回s的長度,不包括結束符NULL。
strlen(char*)函數(shù)求的是字符串的實際長度,它求得方法是從開始到遇到第一個'\0',如果你只定義沒有給它賦初值,這個結果是不定的,它會從aa首地址一直找下去,直到遇到'\0'停止。
參考資料來源:百度百科-strlen (C/C++語言函數(shù))