如题所述
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追问
因为if(x),X是3 ,大于0 为真,所以就执行了X=1追问
为什么答案不是6,你能解释一下吗