C:char中使用的多个反斜杠

时间:2018-04-19 21:15:15

标签: c

我有以下Set代码,但我不理解

C

我创建了一个#include <stdio.h> int main(void) { char c = '\\\\'; printf("%c\n", c); } ,其中包含两个字符。我收到一个编译器警告,说明从char截断到intchar \\\\怎么样?这不是一个字符串吗?

当我遇到这个问题时,我正在研究可接受的字符文字的语法。

这些是我在网上找到的转义序列:

int

1 个答案:

答案 0 :(得分:3)

在C中,所有非宽字符常量都是类型int。以下示例。

'a', '\\', '\x0012', '\n', '\\\\', '\0', 'ab'

printf("%x %x %x %x %x %x %x\n", 'a', '\\', '\x0012', '\n', '\\\\', '\0', 'ab');
// Output - this may differ - but used for illustration
61 5c 12 a 5c5c 0 6162

消息“警告:隐式常量转换中的溢出[-Woverflow]”等警告编码人员认为int常量'\\\\'的值超出范围{ {1}}并且值得审核。

char