c语言中putchar中,10进制数字不用引号 ,而十六进制或者8进制为什么用引号

在用putchar输出字符的时候,为什么十进制就不用引号,直接写数字,而输入十六进制和八进制的时候就需要单引号呢?不然报错
如下图

你用的是转义字符,不是十六进制或八进制常量
转义字符(以\开头的字符)也是字符常量,所以要用引号
数值常量就不需要引号
十进制数肯定属于数值常量,而十六进制数或八进制数表示成数值常量,就不能像转义字符一样用\号,而是写0或0x作前缀
所以在putchar的括号里面你可以写48、060、0x30、'0'、'\060'、'\x30',这六种写法都将输出0
温馨提示:答案为网友推荐,仅供参考
相似回答