C++不使用變量求字符串長(zhǎng)度strlen函數(shù)的實(shí)現(xiàn)方法
本文實(shí)例講述了C++不使用變量求字符串長(zhǎng)度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;
}
希望本文所述對(duì)大家的C++程序設(shè)計(jì)有所幫助。
相關(guān)文章
基于QT的TCP通信服務(wù)的實(shí)現(xiàn)
在項(xiàng)目開發(fā)過(guò)程中,很多地方都會(huì)用到TCP通信,本文主要介紹了基于QT的TCP通信服務(wù)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05
一文帶你了解C語(yǔ)言中static關(guān)鍵字的3個(gè)作用
static這個(gè)關(guān)鍵字是“靜態(tài)”的意思,在C語(yǔ)言里主要有3個(gè)作用。這篇文章主要通過(guò)一些簡(jiǎn)單示例為大家詳細(xì)講講這3個(gè)左右,感興趣的小伙伴可以了解一下2023-04-04
C++如何通過(guò)Qt反射機(jī)制實(shí)現(xiàn)數(shù)據(jù)類序列化
在?C++?工程中經(jīng)常需要使用數(shù)據(jù)類,并對(duì)數(shù)據(jù)類進(jìn)行存儲(chǔ)、打印、調(diào)試等操作,所以本文就來(lái)聊聊C++如何通過(guò)Qt反射機(jī)制實(shí)現(xiàn)數(shù)據(jù)類序列化吧2025-04-04
實(shí)例講解C語(yǔ)言編程中的結(jié)構(gòu)體對(duì)齊
這篇文章主要介紹了C語(yǔ)言編程中的結(jié)構(gòu)體對(duì)齊,值得注意的是一些結(jié)構(gòu)體對(duì)齊的例子在不同編譯器下結(jié)果可能會(huì)不同,需要的朋友可以參考下2016-04-04
Qt數(shù)據(jù)庫(kù)應(yīng)用之實(shí)現(xiàn)通用數(shù)據(jù)生成器
有兩種應(yīng)用場(chǎng)景需要用到數(shù)據(jù)生成器,一種是需要測(cè)試數(shù)據(jù)庫(kù)性能,一種是隨機(jī)模擬生成一堆數(shù)據(jù),用來(lái)測(cè)試程序的性能。本文將利用Qt實(shí)現(xiàn)通用數(shù)據(jù)生成器,需要的可以參考一下2022-02-02

