一維陣列反轉c語言 (c語言)字串的反轉函式

2021-10-19 04:38:25 字數 1130 閱讀 2784

問題分析:

編寫乙個函式reverse_string(char *string)

實現:將函式字串中的字元反向排列。

要求:不能使用c函式庫中的字串操作函式。

程式分析:

要實現引數字串的反向排列:

1.找到字串陣列中的首元素和末元素的位址。

2.定義兩個指標變數left,right,和乙個中間變數實現首末值和中間值的交換。

3.呼叫reverse_string這個函式,將返回值設為事先保留字串的首位址,之後輸出反向排列後的字串。

注意:在實現值的交換時,盡量定義左右值進行交換,慎用變數的前置後置加加減減,這樣容易混淆,容易出錯,從而實現不了所要的功能。

**如下:

#include
#include

char * reverse_string(char *string)

assert(string);

char *ret = string; // 定義乙個char型指標ret儲存string

char *left = string; //定義乙個left指標存放待改變的左值的位址

char *right; //定義乙個right指標存放待改變的右值的位址

char temp; //定義乙個中間變數,供左右值的交換

while(*string != '\0')

string++; //使string指向『\0』

right = string - 1; //使right指向字元陣列中的最後乙個元素

while(left < right) //實現左右值的交換

字串反轉(C語言

功能 字串反轉 需要考慮當下標為0時是否跳出迴圈,所以此處演算法的核心在於length 0和 length 考慮最大下標為lentht 1 該演算法的缺點是 1,輸出陣列長度應該有輸入陣列確定 2,陣列最好為動態記憶體分配 3,最好封裝為函式,但是函式命名不能為strrev,該函式名為vs的內建函式...

C語言字串反轉函式

c語言中所謂的字串不過是字元陣列,後跟乙個0x00字元標識結尾,所以反轉起來很容易,只要乙個迴圈依次將第乙個字元和最後乙個字元交換,第二個字元和倒數第二個字元交換 如果最中間有兩個字元 即需要反轉的字串長度為偶數 那就交換,如果最中間有乙個字元 即需要反轉的字串長度為奇數 那就不需要碰它。還有就是最...

C語言字串反轉函式

c語言中所謂的字串不過是字元陣列,後跟乙個0x00字元標識結尾,所以反轉起來很容易,只要乙個迴圈依次將第乙個字元和最後乙個字元交換,第二個字元和倒數第二個字元交換 如果最中間有兩個字元 即需要反轉的字串長度為偶數 那就交換,如果最中間有乙個字元 即需要反轉的字串長度為奇數 那就不需要碰它。還有就是最...