關於指針的使用---trim函數

 代碼出處:新浪微博

 

今天在微博上發現了一個比較有意思的trim代碼,對於指針理解不深,可能看着會很繞!!在此和大家分享一下。。

這段代碼的關鍵之處就是3個指針操作同一塊內存。。

 

代碼如下

#define LEN 100
#define IS_SPACE(c)(c==' '||c=='\t')

void trim(char *str)
{
	char *pcopy,*ptail;
	if(!str)
		return;
	for(pcopy=str;*str&&IS_SPACE(*str);str++)
		;
	for(ptail=pcopy;*str;str++)
	{
		*pcopy++ =*str;
		if(!IS_SPACE(*str))
			ptail=pcopy;
		*ptail=0;
	}

}



注:trim函數實現的是輸入字符串前後去空格

 

 

發佈了0 篇原創文章 · 獲贊 1 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章