我正在尝试打印一个显示温度表的字符串
printf("表 24A (20\°C)");
度数符号是我定义为 0xDF
的常量,因此字符串如下所示:"TABLE 24A (20\xDF C)"
这有效但看起来不正确,因为 \xDF
和 C
之间有空格。
如果我删除空格,编译器会发出警告 hex escape sequence out of range。
如果我将字符串修改为 "TABLE 24A (20\xDF\C)"
我得到了正确的结果,但编译器发出警告 unknown escape sequence: '\C'
有没有办法去掉警告但去掉两个字符之间的空格?
最佳答案
您可以利用连续的字符串文字自动连接这一事实:
printf("**TABLE 24A (20\xDF" "C)**");
这可以防止解析器为转义序列消耗比您想要的更多的字符。
您也可以将字符作为参数传入并使用 %c
格式说明符来打印它:
printf("**TABLE 24A (20%cC)**", '\xDF');
关于c - 未知转义序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38482586/