作业帮 > 综合 > 作业

i=a++,这个表达式怎么理解?(i=a)++,还是i=(a++)?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/18 13:52:09
i=a++,这个表达式怎么理解?(i=a)++,还是i=(a++)?
++是自增,优先级低于算数运算浮 再答: 应是先把a赋予i,然后a自增1
再问: 如果a=5,6-(--a)值是多少?怎么计算?
再答: 举个例子 main() { int i =5; p=(i++)+(i++)+(i++) printf(“%d,%d”,p,i) } 输出结果应是,先把三个i相加,然后i3次自增,也就是15 8
再答: 如把上述i++改为++i就不一样了,先自增后运算,结果应为24 8,6-(--a)应等于2,a的值为4;而6-(a--)应等于1,a的值为4
再问: 6-(a--)等于1,那就证明括号里的值为5,a已经赋值为5,括号里怎么可能还为5?
再答: 先运算后自减,a自减当然是4了
再问: 6-(a--)等于1,那就证明括号里的值为5,a已经赋值为5,括号里怎么可能还为5?
再答: 计算机是这样计算的: a=5 6-(a--) =6-5=1,也就是说计算机是直接将(a--)以5来计算,当算出该式子结果为1时,计算机计算a--,a--就是将a自减1,本来赋值为5的a,此时的值为4。因此输出的结果是1 、 4 1指的是6-(a--)的值是1,4指的是此时a的值为4
再问: 谢谢谢谢。