作业帮 > 综合 > 作业

main( ) {int x=5; if (x--<5) printf(“%d\n”,x); else printf(“

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/05 23:35:42
main( ) {int x=5; if (x--<5) printf(“%d\n”,x); else printf(“%d\n”,x++); }输入5时候值为
5然而把if(x--
x-2 是表达式,不是赋值语句(x=x-2),所以它没有改变 x 的值.
if (x-2){ }else{};
x-2 表达式的值 为 3 ,它大于0,也就是 “真”,执行 printf(“%d\n”,x);
输入5时候输出值为5
再问: 那x--也不是赋值语句啊?既然判断x--不小于5为啥还非得减一而不复原值?而判断x-2就得回复原值?
再答: x-- 是自减,而且是后(缀)减减。按规定,在表达式里不减1,表达式里用x 的原值,出了表达式以后才自减。 if (x--<5) {} 条件判断时 用if (x