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

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

3个回答

在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

过程就是这样

qq_34925885
qq_34925885 额,能解释一下吗?我基础不好
4 年多之前 回复

0 0

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

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐