首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> 關於C++

C 語言字符串反轉函數實現:char* reverse(char *buf)

     編輯:關於C++

函數功能

原地反轉字符數組/字符串,返回反轉後的緩衝區指針。

完整代碼

char *reverse(char *buf) {
    if (NULL == buf) return NULL;
    
    int len = strlen(buf);
    char tmp;
    for (int i = 0; i < len / 2; i++) {
        tmp = buf[i];
        buf[i] = buf[len - i - 1];
        buf[len - i - 1] = tmp;
    }
    return buf;
}

關鍵點解析

  • 空指針檢查:防止傳入 NULL 導致崩潰
  • 雙指針/對稱交換:只需遍歷前半段,與對應尾部字符交換
  • 原地操作:無需額外內存,空間複雜度 O(1)
  • 返回值:鏈式調用友好,返回原緩衝區指針

使用示例

char str[] = "hello";
reverse(str);  // str 變為 "olleh"
printf("%s\n", str);
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved