++的实验

#include <stdio.h>  
int main()  
{  
    int a = 4;  
    printf("a=4\n");  
    printf("(a)*(++a)=%d\ta=%d\n",(a)*(++a),a);  
    a = 4;  
    printf("(++a)*(++a)=%d\ta=%d\n",(++a)*(++a),a);  
    a = 4;  
    printf("(a++)*(a++)=%d\ta=%d\n",(a++)*(a++),a);  
    a = 4;  
    printf("(a++)*(a)=%d\ta=%d\n",(a++)*(a),a);  
    scanf("%d",&a);  
} 

反汇编代码:

0_1297406426Hr1g.gif

运行结果截图:

0_1297406273Zpgx.gif

结果表明,一个表达式中若存在前置自增符号,则会先依次执行自增操作,再用自增后的值计算表达式的值。例如a=4时(a)*(++a)等于25而不是4*5=20。后置自增符号同理,先用原值计算表达式的值,最后依次执行自增操作。

菊子曰 今天你 菊子曰了么?

转载于:https://www.cnblogs.com/mashang/archive/2011/03/24/1993509.html

猜你喜欢

转载自blog.csdn.net/weixin_34006965/article/details/94160868