bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

C語言的字符串復制-創新互聯

提示:僅供參考,如有錯誤,還望指出。

創新互聯公司是一家專業從事網站設計、網站制作的網絡公司。作為專業網站制作公司,創新互聯公司依托的技術實力、以及多年的網站運營經驗,為您提供專業的成都網站建設、成都全網營銷及網站設計開發服務!

目錄

目錄

一、字符串復制

二、一些優化

1.一次簡單優化

2.二次優化

3.三次優化

4.四次優化

5.最后的優化

總結


前言

以下是對字符串復制的一些優化

一、字符串復制

這是自己能想到的方法

主要思想:通過兩個指針,對二者進行遍歷,若該被復制的字符不為‘\0’來進行一一復制。

可是這樣‘\0’字符就無法復制,而此時被復制字符的地址剛好又是‘\0’,再進行一次復制就好。

//我的字符串復制
void my_strcpy(char* dest,char* rsc)
{
	while (*rsc != '\0')
	{
		*dest = *rsc;
		dest++;
		rsc++;
	}
	*dest = *rsc;
}
二、一些優化

注:這些優化都是基于前一次的優化,也體現出一個循序漸進的過程

1.一次簡單優化

這里實現了一小點的優化,也就是將三句語句合成一句

void my_strcpy(char* dest, char* rsc)
{
	while (*rsc != '\0')
	{
		*dest++ = *rsc++;
	}
	*dest = *rsc;
}

2.二次優化

這里實現了我們既可以賦值字符也能夠復制'\0'

由于當被復制的字符為‘\0’時,也得到了復制,同時還跳出了循環

void my_strcpy(char* dest, char* rsc)
{
	while (*dest++ = *rsc++)
	{
		;
	}
}

3.三次優化

這里優化了健壯性,可這里沒有體現出問題在哪。

在二次優化中,添加了一個判斷語句,只有二者同時不為空指針時,才會進入遍歷復制的過程。

void my_strcpy(char* dest, char* rsc)
{
	if (dest != NULL && rsc != NULL)
	{
		while (*dest++ = *rsc++)
		{
			;
		}
	}
}

4.四次優化

這里用到了斷言函數assert();同時需要添加該頭文件

使用assert()函數,若不滿足函數體中條件,就會報錯,并且具體體現在哪一行,更有利于找錯。

#include
my_strcpy(char* dest, char* rsc)
{
	assert(dest != NULL);
	assert(rsc != NULL);
	while (*dest++ = *rsc++)
	{
		;
	}
}

5.最后的優化

這個就比較細節,也是為了防止一些錯誤而形成的優化。

在被復制字符中加上一個const,為了防止while循環中的條件,若不注意將二者位置調換,就會出現報錯的情況。

這里也給大家推薦一個網站cplusplus.com - The C++ Resources Network?

若有不懂的函數或者函數需要的頭文件都可以在這里查。? ? ? ? ?這里也到了strcpy函數中參數的類型,若以后要寫類似于庫函數的函數也可以考慮這里面的參數類型。

#include
void my_strcpy(char* dest, const char* rsc)
{
	assert(dest != NULL);
	assert(rsc != NULL);
	while (*dest++ = *rsc++)
	{
		;
	}
}

總結

?在我看來,編程很像數學,每當你了解到一個題目的多種解法后,有些解法會給人一種十分奇妙的感覺,也有一種勾起好奇心的感覺,就是由于這種好奇心,促使這我們成長。不過有時候的編程也很乏味,但是我們一定要堅持。

學習不易,如果這篇對你有幫助,足矣。

最后附上學習的鏈接(同樣要是有一起學習的伙伴就更好了)

25.VS環境-C語言實用調試技巧(2)(C語言程序設計教程譚浩強 c語言譚浩強視頻教程 c語言零基礎入門教程 學習c語言 c語言視頻教程 c語音 C語言教程_嗶哩嗶哩_bilibili

你是否還在尋找穩定的海外服務器提供商?創新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧

網站欄目:C語言的字符串復制-創新互聯
鏈接地址:http://vcdvsql.cn/article2/djgioc.html

成都網站建設公司_創新互聯,為您提供小程序開發Google自適應網站全網營銷推廣網站建設品牌網站建設

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都定制網站網頁設計