欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語言中求字符串長度的函數的幾種實現方法

 更新時間:2018年08月05日 12:14:57   作者:ZWE7616175  
這篇文章主要介紹了C語言中求字符串長度的函數的幾種實現方法,需要的朋友可以參考下

1.最常用的方法是創(chuàng)建一個計數器,判斷是否遇到‘\0',不是'\0'指針就往后加一。

int my_strlen(const char *str)
{
	assert(str != NULL);
	int count = 0;
	while (*str != '\0')
	{
		count++;
		str++;
	}
	return count;
}

2.不創(chuàng)建計數器,從前向后遍歷一遍,沒有遇到‘\0'就讓指針向后加一,找到最后一個字符,記下來地址,然后用最后一個字符的地址減去起始地址,就得到了字符串的長度。

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)建計數器,遞歸實現。

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);
}

這篇關于c語言中獲取字符串長度的函數就介紹到這了,需要的朋友可以參考一下。

相關文章

  • C/C++多態(tài)深入探究原理

    C/C++多態(tài)深入探究原理

    多態(tài)按字面的意思就是多種形態(tài)。當類之間存在層次結構,并且類之間是通過繼承關聯時,就會用到多態(tài)。C++?多態(tài)意味著調用成員函數時,會根據調用函數的對象的類型來執(zhí)行不同的函數
    2022-06-06
  • 淺談C++函數聲明后面加throw()的作用(必看)

    淺談C++函數聲明后面加throw()的作用(必看)

    下面小編就為大家?guī)硪黄獪\談C++函數聲明后面加throw()的作用(必看)。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • C語言編程中從密碼文件獲取數據的函數總結

    C語言編程中從密碼文件獲取數據的函數總結

    這篇文章主要介紹了C語言編程中從密碼文件獲取數據的函數總結,包括getpw()函數和getpwnam()函數以及getpwuid()函數,需要的朋友可以參考下
    2015-08-08
  • 完美解決QT?QGraphicsView提升到QChartView報錯的問題

    完美解決QT?QGraphicsView提升到QChartView報錯的問題

    使用QT提供的QChartView來繪制圖表,提升QGraphicsView控件繼承QChartView后,然后將QGraphicsView提升到我們自己寫的類,怎么才能確保提升后編譯不報錯呢,下面小編給大家?guī)砹薗T QGraphicsView 提升到QChartView報錯解決方案,感興趣的朋友一起看看吧
    2023-05-05
  • C++類和對象補充

    C++類和對象補充

    類是創(chuàng)建對象的模板,一個類可以創(chuàng)建多個對象,每個對象都是類類型的一個變量;創(chuàng)建對象的過程也叫類的實例化。每個對象都是類的一個具體實例(Instance),擁有類的成員變量和成員函數
    2021-10-10
  • 詳解C++文件讀寫操作

    詳解C++文件讀寫操作

    這篇文章主要為大家詳細介紹了C++文件讀寫操作,感興趣的小伙伴們可以參考一下
    2016-03-03
  • C++設計模式之訪問者模式

    C++設計模式之訪問者模式

    這篇文章主要介紹了C++設計模式之訪問者模式,本文講解了什么是訪問者模式、訪問者模式的UML類圖、訪問者模式的實現代碼等內容,需要的朋友可以參考下
    2014-10-10
  • QT線程池的使用(QThreadPool類和QRunnable類)

    QT線程池的使用(QThreadPool類和QRunnable類)

    本文主要介紹了QT線程池的使用(QThreadPool類和QRunnable類),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-04-04
  • C++指向類成員函數的指針詳細解析

    C++指向類成員函數的指針詳細解析

    由于這幾天在開發(fā)中要用到函數指針,所以就整理了一下關于函數指針的概念
    2013-08-08
  • C語言數據結構之使用鏈表模擬棧的實例

    C語言數據結構之使用鏈表模擬棧的實例

    這篇文章主要介紹了C語言數據結構之使用鏈表模擬棧的實例的相關資料,需要的朋友可以參考下
    2017-08-08

最新評論