求教,比较基础的程序,但百度不会。

已知x=3e+5,y=0.85;
printf("%d %d\n",!x*!y,!!!x);
结果是???

在c的判断中,可以看做非0即使1。
那么来看表达式
x = 3e + 5, 也就是说 3e +5 为 !0
y = 0.85, 0.85 = !0,
接下来表达式就好做了

x = !0 , y = !0。
!x * !y -> !!0 * !!0 -> 0
!!!x -> !!!!0 -> 0

过程就是这样

0
http://codepad.org/JqFR5r6k

0 0

这种问题直接把代码贴在codepad.org,在线可以编译运行告诉你答案。建议不要使用百度等杂牌垃圾搜素引擎。