C語言判斷字符串長度的方法小結(jié)
strlen()
在C語言中,可以使用strlen()函數(shù)來計算一個字符串的長度(不包括字符串末尾的空字符’\0’)。例如:
在使用strlen函數(shù)時,需要添加string.h頭文件。
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "hello c";
int length = strlen(str);
printf("字符串長度為%d\n",length);
return 0;
}
上面的代碼段將輸出:字符串長度為7,因為字符串"hello c"包含7個字符。
自定義函數(shù)
如果不想使用sizeof()和strlen(),可以利用循環(huán)來判斷字符串的長度。
編寫函數(shù)通過傳入一個字符串,返回一個長度數(shù)值。
#include <stdio.h>
#include <string.h>
int func_length(char str[]){
char *p = str;
int cnt = 0;
while(*p!='\0'){
cnt++; // 計數(shù)
p++;
}
return cnt;
}
int main() {
char str[] = "hello c";
int length = func_length(str);
printf("字符串長度為%d\n",length);
return 0;
}
輸出結(jié)果:字符串長度為7
區(qū)別:sizeof()
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "hello c";
printf("字符串長度為%d\n",sizeof(str));
return 0;
}
輸出結(jié)果:字符串長度為8
注意:在C語言中,sizeof() 是長度的運算符,括號中可以放入數(shù)據(jù)類型或者表達(dá)式,一般我們用來計算字符串長度。
在使用sizeof()求字符串長度時,會將 ‘\0’ 也計算到字符串長度中。例如"abcd"用sizeof()求長度會計算得到5。
char str[100]=“”; sizeof(str)的值是100。
到此這篇關(guān)于C語言判斷字符串長度的方法小結(jié)的文章就介紹到這了,更多相關(guān)C語言判斷字符串長度內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
c語言實現(xiàn)學(xué)生管理系統(tǒng)詳解
這篇文章主要為大家介紹了c語言實現(xiàn)學(xué)生管理系統(tǒng),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助<BR>2021-12-12
C語言實現(xiàn)動態(tài)擴(kuò)容的string
最近工作中使用C語言,但又苦于沒有高效的字符串實現(xiàn),字符串的拼接和裁剪都很麻煩,而且每個字符串都需要申請內(nèi)存,內(nèi)存的申請和釋放也很容易出bug,怎么高效的實現(xiàn)一個不需要處理內(nèi)存問題并且可以動態(tài)擴(kuò)容進(jìn)行拼接和裁剪的string呢?本文就來詳細(xì)講講2023-04-04
深入解讀C++ 內(nèi)聯(lián)函數(shù)inline|nullptr
內(nèi)聯(lián)函數(shù):用** inline 修飾的函數(shù)叫做內(nèi)聯(lián)函數(shù),編譯時C++編譯器會在調(diào)用的地方展開內(nèi)聯(lián)函數(shù)**,這樣調(diào)用內(nèi)聯(lián)函數(shù)就需要創(chuàng)建棧楨,就提高效率了,這篇文章給大家介紹C++ 內(nèi)聯(lián)函數(shù)inline|nullptr的相關(guān)知識,感興趣的朋友跟隨小編一起看看吧2024-07-07
fatal error LNK1104: 無法打開文件“l(fā)ibc.lib”的解決方法
本篇文章是對fatal error LNK1104: 無法打開文件“l(fā)ibc.lib”的解決方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05
c語言根據(jù)用戶輸入的出生年份并計算出當(dāng)前年齡
這篇文章主要介紹了c語言根據(jù)用戶輸入的出生年份并計算出當(dāng)前年齡,需要的朋友可以參考下2023-03-03

