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

C 語言轉義字符詳解:\\012 vs \\x12 含義大不同

     編輯:程式設計疑難解答

問題代碼

書本顯示 '\012' 和 '\x12' 結果不一致,疑惑理解是否偏差。

核心知識點

  1. \\012 —— 八進制轉義
    012₈ = 1×8¹ + 2×8⁰ = 10₁₀,對應 ASCII 換行符 (LF, \\n)。
  2. \\x12 —— 十六進制轉義
    0x12 = 1×16¹ + 2×16⁰ = 18₁₀,對應 ASCII 設備控制 2 (DC2),不可見控制字符。
    (註:若書本示例為 \\x42,則 0x42 = 66₁₀ = 'B')。
  3. \\12 —— 八進制(無前導 0 也視為八進制)
    同 \\012。

常用轉義速查

轉義序列含義十進制
\\n換行10
\\t制表9
\\r回車13
\\0空字符0
\\xxx八進制 (1-3 位)-
\\xhh十六進制 (1-2 位)-

調試技巧

printf("\\012 = %d\\n", '\\012'); // 輸出 10
printf("\\x12 = %d\\n", '\\x12'); // 輸出 18

親自運行,印象深刻。

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