本文章向大家介紹使用C語(yǔ)言怎么求字符串的長(zhǎng)度,主要包括使用C語(yǔ)言怎么求字符串的長(zhǎng)度的使用實(shí)例、應(yīng)用技巧、基本知識(shí)點(diǎn)總結(jié)和需要注意事項(xiàng),具有一定的參考價(jià)值,需要的朋友可以參考一下。
創(chuàng)新互聯(lián)公司是一家專業(yè)提供侯馬企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、成都h5網(wǎng)站建設(shè)、小程序制作等業(yè)務(wù)。10年已為侯馬眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。C語(yǔ)言是一門面向過(guò)程的、抽象化的通用程序設(shè)計(jì)語(yǔ)言,廣泛應(yīng)用于底層開(kāi)發(fā),使用C語(yǔ)言可以以簡(jiǎn)易的方式編譯、處理低級(jí)存儲(chǔ)器。
1.最常用的方法是創(chuàng)建一個(gè)計(jì)數(shù)器,判斷是否遇到‘\0',不是'\0'指針就往后加一。
int my_strlen(const char *str) { assert(str != NULL); int count = 0; while (*str != '\0') { count++; str++; } return count; }
2.不創(chuàng)建計(jì)數(shù)器,從前向后遍歷一遍,沒(méi)有遇到‘\0'就讓指針向后加一,找到最后一個(gè)字符,記下來(lái)地址,然后用最后一個(gè)字符的地址減去起始地址,就得到了字符串的長(zhǎng)度。
int my_strlen(const char *str) { char *end = str; assert(str!=NULL); assert(end!=NULL); while (*end != '\0') { end++; } return end - str; }
3.不創(chuàng)建計(jì)數(shù)器,遞歸實(shí)現(xiàn)。
int my_strlen(const char *str) { assert(str != NULL); if (*str == '\0') { return 0; } else { return (1 + my_strlen(++str)); } }
也可以寫成這樣:
int my_strlen(const char *str) { assert(str != NULL); return (*str == '\0') ? 0 : (my_strlen(++str) + 1); }
或者這樣:
int my_strlen(const char *str) { assert(str != NULL); return (*str == '\0') ? 0 : (my_strlen(str+1) + 1); }
到此這篇關(guān)于使用C語(yǔ)言怎么求字符串的長(zhǎng)度的文章就介紹到這了,更多相關(guān)的內(nèi)容請(qǐng)搜索創(chuàng)新互聯(lián)建站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持創(chuàng)新互聯(lián)建站!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、建站服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。