[原创]输出结果题
1,main(){ char x=0xFFFF; printf("%d\n",x--); }
----------------解决方案--------------------------------------------------------
我在win-tc下测试,输出 -1
----------------解决方案--------------------------------------------------------
我也知道是-1为什么啊?
----------------解决方案--------------------------------------------------------
因为0XFFFF代表的是十六进制数,转换成十进制输出(%d)就是-1
----------------解决方案--------------------------------------------------------
FFFF转换10进制是69904
----------------解决方案--------------------------------------------------------
69904.....我没算错吧?我怎么老是得65535~~~~
我认为是char 只占1个字节作怪~
----------------解决方案--------------------------------------------------------
首先,char x=0xFFFF;这句就有很多问题 1:char 其范围:-127-127 2:语法错误:正确应为:char x='\x5F';(注意不要超出范围) 因为超出char的范围了,所以它就不能输出你所想要的了!
----------------解决方案--------------------------------------------------------
哎~~~~~~
为什么总是有人来搞出一些C语言的缺陷.
本来这一切都可以不发生的~~~~~
弄得我头很疼~~~
----------------解决方案--------------------------------------------------------