作业帮 > 综合 > 作业

若有定义语句 int a=25,b=14,c=19,以下语句的执行结果是______

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/12 08:46:38
若有定义语句 int a=25,b=14,c=19,以下语句的执行结果是______
if(a++
c没变是因为逻辑判断短路. 跟运算优先级没有关系的.
当++,--是后置时, 优先级是做表达式, 再执行自增或自减.
你这个if, 条件a++
再问: 就是说后自增是表达式运算完了之后值才发生变化吧,这样的话整条式子运算完了之后a,b,c应该就变了啊? 而且我觉得还是和优先级冲突啊,这样的话后自增后自减不就变成最后才运算,优先级不就变到最后了吗?还是说++a前自增才符合优先级规则,后自增不符合呢
再答: 问题就出在整个表达式都运算完是什么时候啊, 我不是说得很清楚了吗? 当得出b-- b) && (c = 40)) ; printf("c = %d\n", c); 你看看c是40还是30.