C语言 8--问题 这里第一次i=5 i--,j=j+i j是5 还是4 ,i先用后

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-08-04
C语言中k==j==i+5 是先计算i+5吧?

所谓的结合性实际上是看操作数和它左边的结合还是和右面的符号结合。等级不同时,先看等级,相同时看结合性
先算k==j,假设这个关系表达式是成立的,那就是1
后算1==i+5,这个时候,+号优先级高于==,所以是i+5是个整体,那就是1和i+5这个整体进行是否相等的比较

楼上答案是错的,选择A。j=-i++先算 j=-i,j为-5,再算i++,i为6

i=2
j=9

i--; // i的值减1,i的变化是 5-4-3-2
j = j+i; // j的值变为 j+i ,j的变化为 0-4-7-9

教学应该有说后自减是怎么运行的:运行到I--这句时I=5,运行到J=J+I时I=4,知道这个你就可以按步分析计算了
1进入循环J=4 执行到判断I=4>2继续循环
2进入循环J=7 执行到判断I=3>2继续循环
3进入循环J=9 执行到判断I=2>2结束循环
要培养锻炼这种条理分析能力

j=4
如果是 j=j+i--; j=5
如果是 j=j+--i; j=4