黑马程序员技术交流社区

标题: C语言代码问题 [打印本页]

作者: pprgra56    时间: 2014-3-11 10:28
标题: C语言代码问题
void main()
{char c;
c='\376';
printf("%c,%d\n",c,c);}
输出为什么不是254 啊 跟我想的不一样啊
作者: z82454642    时间: 2014-3-11 10:39
不明白为什么会输出254...
作者: 牧之    时间: 2014-3-11 12:17
'\'表示的是8进制的,用引号引起来说明是一个char型的字符,而八进制378 正好是10进制的254,而有符号char类型的范围是-128~127,显然254超过这个范围
作者: apple_victor    时间: 2014-3-11 12:57
输入结果应该是:?-2
'\'表示的是8进制的,用引号引起来说明是一个char型的字符
而八进制376 是10进制的254
而有符号char类型的范围是-128~127,很显然254超出了这个范围,此时得加或减去N个256调整到这个范围
所以254-256=-2,即输出的-2





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2