字串內容逆置(不能使用庫函式只能開闢有限個空間)

2021-07-15 10:50:00 字數 606 閱讀 3771

有乙個字元陣列的內容為:"student a am i",請你將陣列的內容改為"i am a student".
要求:不能使用庫函式。只能開闢有限個空間(空間個數和字串的長度無關)
注:先將字元陣列整齊逆置「i ma a tneduts」,然後在呼叫一次reserve將字串陣列中的單個字串逆置,就達到我們想要的結果 iam a student.
需要注意的點就是第二次逆置的時候確定當前要操作的字串的開始和結束位置.

#includeint strlen( const char* arr)//統計空格

return count;

}void reserve(char* left,char* right)//

} void reserve_buf( char arr)

end--;

reserve(start,end);//i am a student

if(*(end+1)!='\0')

else

end++;}}

int main()

字串翻轉 不能使用系統函式

思想 定義頭尾兩個指標 交換頭尾指標的資料 字串翻轉 char strrev char str 定義char陣列指標 char start str char end str while end 0 交換頭和尾的值 char temp end 去除 0的位置 while start end retur...

5 使用字串庫函式

5.1 計算字串長度,函式原型如下 size t strlen const char s size t 是乙個無符號整型 unsigned int 該函式返回第乙個空字元 0前面的字元個數。include 獲得字串長度 void test strlen 5.2 字串拷貝 函式原型 char stpc...

將乙個字串逆序(用遞迴實現不能使用庫函式)

將兩個字串逆序可以設定兩個指標,乙個指向字串首位址start,乙個指向字串末尾元素的位址 0 前面的元素的位址 end,只要start實現 如下 include includevoid reverse char str int main 也可用遞迴方法實現 先將字串 abcdef 的首元素儲存起來,...