不同C编译器下自增运算符“++”的运行结果

/*********** 测试程序:“test.C”***********************************************************************/
#include <stdio.h>
main()
{
     int i,a,b,c,d,e,f,g,h,j,k,m,n,o,p,q;
     i=a=b=c=d=e=f=g=h=j=k=m=n=o=p=q=1;

     printf(" x=i=%d\n\n x=i++=%d\n x=++i=%d\n\n",
                    i,                a++,             ++b               );

     printf(" x=(i++)+(++i)=%d\n x=(++i)+(i++)=%d\n\n",
                   (h++)+(++h),           (++j)+(j++)                  ) ;

      printf(" x=(i++)+(i++)=%d\n x=(++i)+(++i)=%d\n\n",
                    (c++)+(c++),           (++d)+(++d)              ) ;

      printf(" x=(i++)+(i++)+(i++)=%d\n x=(++i)+(++i)+(++i)=%d\n\n",
                    (e++)+(e++)+(e++),         (++f)+(++f)+(++f)                ) ;

      printf(" x=(++i)+(++i)+(++i)+(++i)=%d\n\n",
                 (++g)+(++g)+(++g)+(++g)             ) ;

     printf(" x=(i++)+(i++)+(++i)=%d\n x=(i++)+(++i)+(i++)=%d\n x=(++i)+(i++)+(i++)=%d\n\n",
                 (k++)+(k++)+(++k),          (m++)+(++m)+(m++),      (++n)+(n++)+(n++)           ) ;

     printf(" x=(i++)+(++i)+(++i)=%d\n x=(++i)+(i++)+(++i)=%d\n x=(++i)+(++i)+(i++)=%d\n\n",
                  (o++)+(++o)+(++o),          (++p)+(p++)+(++p),          (++q)+(++q)+(q++)              ) ;
}
/****************程序结束分隔线***********************************************************************************/

.

.

=============程序运行结果分隔线================================================

TC2.0编译运行结果:(符合通常对++运算符的理解)

x=i=1

x=i++=1
x=++i=2

x=(i++)+(++i)=4
x=(++i)+(i++)=4

x=(i++)+(i++)=3
x=(++i)+(++i)=5

x=(i++)+(i++)+(i++)=6
x=(++i)+(++i)+(++i)=9

x=(++i)+(++i)+(++i)+(++i)=14

x=(i++)+(i++)+(++i)=7
x=(i++)+(++i)+(i++)=7
x=(++i)+(i++)+(i++)=7

x=(i++)+(++i)+(++i)=8
x=(++i)+(i++)+(++i)=8
x=(++i)+(++i)+(i++)=8

VC++6.0编译运行结果:(匪夷所思的结果,至今未能参透其中奥秘)

x=i=1

x=i++=1
x=++i=2

x=(i++)+(++i)=4
x=(++i)+(i++)=4

x=(i++)+(i++)=2
x=(++i)+(++i)=6

x=(i++)+(i++)+(i++)=3
x=(++i)+(++i)+(++i)=10

x=(++i)+(++i)+(++i)+(++i)=15

x=(i++)+(i++)+(++i)=4
x=(i++)+(++i)+(i++)=6
x=(++i)+(i++)+(i++)=6

x=(i++)+(++i)+(++i)=7
x=(++i)+(i++)+(++i)=7
x=(++i)+(++i)+(i++)=9

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值