a++是在语句结束后,a再加
++a是在语句进行时就加1
a ++:先计算在加
++ a:先加在计算
请问以下程序的输出结果是多少? main() { int a=5,b=8,c; c=(a++)*(++b)+(++a)*(b++); printf("%d %d %d",a,b,c); } | |
解 答: | 此题的解答过程如下: 此题要注意(a++)这个表达式的值,是a自增前的值,而(++a)这个表达式的值,是a自增后的值。 那么此题步骤: (1)(a++)值为5,(++b)值为9,计算(a++)*(++b),得结果45,而且此时a的值变成6,b的值变成9 (2)因为由第一步,已得a值为6,b值为9,因此(++a)值为7,(b++)值为9,计算(++a)*(b++),得结果63 (3)将(1)和(2)结果相加,即可得c的值为108。 |