各位朋友你们好!
我是个新手,C语言上有个新问题想请教一下,谢谢了!问题如下:
设a=1,b=2,c=3,d=4,则表达式: a<b?a: c<d?a: d的结果为( )。
我想知道这题的解析过程??谢谢大家帮忙!
[此贴子已经被忆楠于2004-10-01 22:41:05编辑过]
谢谢这位c高手帮我这样一一的详解真是麻烦了。
第一道题我看懂了非常感谢!!
不好意思,第二道却实是少了一个d ,但还是看不懂。
(1)在这个问题上 0xFFFF是怎样转成65535的?为什么是65535而不是0~65535之间的数?
(2)然后有符号整型变量好像是-32767~+32767 (我从书上看的,不过好像我这书真是垃圾,许多解析都是错的)。
关于溢出的问题我看懂了。
(3) 但( 0xffff转成 %ud 的值为65535,肯定超过了 %d 的范围,所以他将会溢出,然后从-32768开始算起。所以结果为-1)?无符号整型的变量是从0~65535的啊 ,为什么从-32768开始算呢?是怎样算到-1的呢?
望指点,谢谢!