已知x=3执行语句if(x), x=1;else x=6后x的值是多少,为什么

如题所述

1。因为x=3,不等于0,所以x=1。追答

望采纳。

追问

这里的x为什么能直接等于3?

不能

追答

额,你不是已知x=3吗?

晕+_+

追问

不是,3怎么不能用进去

还要判断非0即1呢

就比如答案为什么不是6

追答

if后面的()里面是判断语句,只能是true或者false。当括号里面成立就是true,否则就是false。现在里面是x,这就是x存在即x不是零的话,就成立;如果是零就不成立。

所以才会是1。

追问

谢啦

追答

有问题还可以找我。

追问

大神,我能最后问你一道题吗

追答

你说

追问

设b=0以下语句的输出结果是 ? printf(“%d,%d”,++b,b--)

追答

答案是1和0。全面一个是先加加再计算,也就是1,b等于1。后面一个是先计算再加,也就是0,b等于-1。

额,等会,我忘了个事,错了。应该是1和1。后面一个应该用前面计算过的1进行计算。

追问

答案是0,0诶

你知道为什么吗

追答

额,介个。。。。

我很不明白。比如这样说吧。我们让a=++b;c=b--;所以看哦,b=0的话,a=1,b=1;c=1,b=0。

追问

有个人这么跟我说的 c是从语句右边开始进栈,所以先执行b--,输出0,b=-1,然后++b,输出0

但我不知道他对不对

追答

额,那就是printf(“%d,%d”,b--,++b)才会出现0,0。不然不会这样的。

他说的不对,c语言是典型的顺序结构,都是从上往下,从左往右的。

追问

嗯嗯,我也觉得不太对劲,我还是先把问题放一下回学校再问人

麻烦啦

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-06-21
x=6 因为如果x不等于1 反之x=6
第2个回答  2015-06-21
x=1
因为if(x),X是3 ,大于0 为真,所以就执行了X=1追问

为什么答案不是6,你能解释一下吗

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网