已知x=3执行语句if(x), x=1;else x=6后x的值是多少,为什么
答案:3 悬赏:50
解决时间 2021-03-03 07:04
- 提问者网友:
- 2021-03-02 23:06
已知x=3执行语句if(x), x=1;else x=6后x的值是多少,为什么
最佳答案
- 二级知识专家网友:怙棘
- 2021-03-02 23:21
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楼网友:鱼忧
- 2021-03-03 01:53
x=6 因为如果x不等于1 反之x=6
- 2楼网友:轮獄道
- 2021-03-03 00:41
x=1
因为if(x),X是3 ,大于0 为真,所以就执行了X=1追问为什么答案不是6,你能解释一下吗
因为if(x),X是3 ,大于0 为真,所以就执行了X=1追问为什么答案不是6,你能解释一下吗
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯