C语言中 char c='a' b='d' c=b 为什么是错误的

兄弟姐妹帮我问下,C语言中 char c='a' b='d' c=b 为什么是错误的
最新回答
信上诗两行

2024-12-02 23:22:54

\ddd 任意字符 三位
八进制

\xhh 任意字符 二位
十六进制

首先,C语言这2种字符的表示方法,但不限于这2种。
a='\';这是非法的,如果要表示\则用a='\\',如果要表示'则用a='\''(后面是2个
单引号
,不是1个双引号)
b='\xbc',符合上面\xhh的情况,合法
c='\0xab',C语言不支持这种表示方法
d='\0127 ',除了xhh之外,剩下的都当作是
8进制
处理,包括\0,所以这里写0127和127是等效的,都是合法的,d之所以不合法应该是7后面有个空格,这样就是2个字符了。2个字符不能当作一个字符处理。
烟花巷陌ヾ

2024-12-02 02:03:36

中间二处要加逗号。