还是C程关于++的问题.= =int x;scanf("%d",&x);if(x++>5) printf("%d\n",x);else printf("%d\n",x--);题目要求输入5,选出结果 是6但是不懂诶.后++不应该是先计算再自加的么?如果先参与判断x是否大于5的话,这时候x

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/06 19:07:40

还是C程关于++的问题.= =int x;scanf("%d",&x);if(x++>5) printf("%d\n",x);else printf("%d\n",x--);题目要求输入5,选出结果 是6但是不懂诶.后++不应该是先计算再自加的么?如果先参与判断x是否大于5的话,这时候x
还是C程关于++的问题.= =
int x;
scanf("%d",&x);
if(x++>5) printf("%d\n",x);
else printf("%d\n",x--);
题目要求输入5,选出结果 是6
但是不懂诶.后++不应该是先计算再自加的么?如果先参与判断x是否大于5的话,这时候x应该还是5啊,为什么会输出6呢?
我查呢个优先级的表,发现自加自减这种单目应该排在>

还是C程关于++的问题.= =int x;scanf("%d",&x);if(x++>5) printf("%d\n",x);else printf("%d\n",x--);题目要求输入5,选出结果 是6但是不懂诶.后++不应该是先计算再自加的么?如果先参与判断x是否大于5的话,这时候x
i++ 和 ++i 是不一样的.这两个的优先级是不一样的.
你在查表的时候应该能注意到有两个++和--.
你可以这么记:
i++ 是先用 i 再自加
++i 是先自加再用 i
那么这道题就成了
1)输入数字
2)如果输入的数字 x > 5
2.1)x++
2.2)输出数字 x
3)否则(x