首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

C 語言 do-while 逐詞倒序:指針遍歷與單詞邊界交換

     編輯:程式設計綜合問答

代碼先整體倒序字符串,再用 do-while 掃描逐詞倒序還原單詞順序。

do-while 邏輯

p = str; length = 0;
do {
    if (isalpha(*p)) length++;           // 累計單詞長度
    else {
        if (length > 1) reverse_word(p, length); // 遇分隔符,倒序剛結束的單詞
        length = 0;
    }
} while (*p++ != '\0'); // 推進指針直到結束

reverse_word 交換單詞內部字符,使 "ABC DEF" → "CBA FED",配合前面整體倒序最終得到 "DEF ABC"。

關鍵:*p++ 先取值判斷再遞增,循環條件檢查的是**遞增前**的字符是否為 '\0'。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved