首页 > 其他 > 详细

自增自减

时间:2020-02-29 09:58:04      阅读:44      评论:0      收藏:0      [点我收藏+]
#include <stdio.h>

int main(void)
{
    int i,j,k,m,n,p;

    i = 8;
    j = 10;
    k = 12;

    //自增在操作数之前

     m = ++ i;
     printf("i = %d\n",i );  //9
     printf("m = %d\n",m );  //9

     //自增在操作之后

     n = j ++;
     printf("j = %d\n",j );  //11
     printf("n = %d\n",n );  //10

     //自减在操作之前

     p = k --;
     printf("k = %d\n",k );  //11
     printf("p = %d\n",p );  //12

     //混合运算,先初始化

    k = 12;
    m = 14;
    n = 5;

    p = (++m)*(n++)+(--k);  //15*5+11=86 ;
    printf("p = %d\n",p);

    /**
        (++m)*(n++)+(--k)
        ==> (m = ++m)*(n = n++)+(k = --k)
        ==>15 * 5 + 11
        ==>86
    */
}

/**
    在算式m=++i中,对整型变量i进行了自增运算。由于自增运算符是置于i之前,所以是先对i进行加1操作,此时i的值已不再是8,而是9,然后再将自增后的i赋给变量m,所以输出为9
    在算式p=k--中,对整型变量k进行了自减运算,由于自减运算符是置于k之后,所以是先进行赋值操作,这时p的值为12,然后再进行自减操作,这时k减为11
    在算式n=j++中,对整型变量j进行了自加运算,由于自加运算符是置于j之后,所以是先进行赋值操作,这时n的值为10,然后再进行自加操作,这时j加为11
*/

 

自增自减

原文:https://www.cnblogs.com/starshine-zhp/p/12381350.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!