書本顯示 '\012' 和 '\x12' 結果不一致,疑惑理解是否偏差。
012₈ = 1×8¹ + 2×8⁰ = 10₁₀,對應 ASCII 換行符 (LF, \\n)。0x12 = 1×16¹ + 2×16⁰ = 18₁₀,對應 ASCII 設備控制 2 (DC2),不可見控制字符。\\x42,則 0x42 = 66₁₀ = 'B')。\\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
親自運行,印象深刻。