C++不使用變量求字符串長度strlen函數(shù)的實(shí)現(xiàn)方法
本文實(shí)例講述了C++不使用變量求字符串長度strlen函數(shù)的實(shí)現(xiàn)方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
1、strlen的源碼實(shí)現(xiàn):
size_t strlen(const char *str) //strlen不做內(nèi)存非法判斷,如果是NULL,會(huì)core。 { const char *eos=str; while(*eos++); return (eos-str-1); }
2、常見面試題會(huì)要求不使用額外變量,實(shí)現(xiàn)strlen函數(shù):
實(shí)現(xiàn)一:
int strlen(const char *str) { if('\0'==*str) return 0; else return strlen(str+1)+1; }
實(shí)現(xiàn)二:
int strlen(const char *str) { return *str?(strlen(str+1)+1):0; }
希望本文所述對大家的C++程序設(shè)計(jì)有所幫助。
相關(guān)文章
C語言編程技巧 關(guān)于const和#define的區(qū)別心得
盡量用const和inline而不用#define 這個(gè)條款最好稱為:“盡量用編譯器而不用預(yù)處理”,因?yàn)?define經(jīng)常被認(rèn)為好象不是語言本身的一部分。這是問題之一。再看下面的語句:2013-02-02數(shù)據(jù)結(jié)構(gòu)之位圖(bitmap)詳解
這篇文章主要介紹了數(shù)據(jù)結(jié)構(gòu)之位圖詳解,本文講解了位圖的基本知識(shí)、位圖的實(shí)現(xiàn)方法、位圖的應(yīng)用等內(nèi)容,需要的朋友可以參考下2014-08-08C++string底層框架模擬實(shí)現(xiàn)代碼
本節(jié)文章主要說明淺拷貝和深拷貝的優(yōu)缺點(diǎn),以及仿寫string類的邏輯并分析實(shí)現(xiàn)過程,對C++string底層框架模擬實(shí)現(xiàn)代碼感興趣的朋友一起看看吧2021-11-11C++實(shí)現(xiàn)LeetCode(8.字符串轉(zhuǎn)為整數(shù))
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(8.字符串轉(zhuǎn)為整數(shù)),本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07C語言實(shí)現(xiàn)打印數(shù)組以及打印注意事項(xiàng)說明
這篇文章主要介紹了C語言實(shí)現(xiàn)打印數(shù)組以及打印注意事項(xiàng)說明,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01