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

C 語言字符串比較程序邏輯錯誤:雙重調用同一函數

     編輯:程式設計綜合問答

錯誤代碼片段

strPk(s1In, s1Out);
strPk(s1In, s1Out); // 重複處理 s1,s2 未處理

修正

strPk(s1In, s1Out);
strPk(s2In, s2Out); // 第二行應處理第二個字符串

完整修正邏輯說明

程序意圖:輸入兩字符串,去除非字母後比較大小。

  1. 定義 strPk(char *in, char *out):遍歷 in,僅保留 isalpha() 字符到 out,以 \0 結尾。
  2. 主函數調用兩次,分別處理兩個輸入緩衝區。
  3. 最後用 strcmp(s1Out, s2Out) 比較。

補充建議

  • 使用 ctype.h 中 isalpha 判斷字母,避免手寫範圍判斷出錯。
  • 確保輸出緩衝區足夠大(≥ 輸入長度 + 1)。
  • 編譯開啟警告 -Wall -Wextra 可提示「語句無效」等問題。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved