经典i++与++i的问题

发布时间:2018-06-30 22:32:02   来源:文档文库   
字号:

例题

有如下C程序:

#include

int main()

{

inti=0;

int a=(i++)+(i++)+(i++);

int b=(++i)+(++i)+(++i);

printf(“%d\n”,a);

printf(“%d\n”,b);

printf(“%d\n”,i);

return 0;

}

运行结果如下

为什么会出现这个结果呢

分析

对于int a=(i++)+(i++)+(i++);进行的计算过程为i++0再计i++0再计算a=i+i=0然后计算i++0再计算a+=i0

对于a计算完成但是对于该过程的i的计算还未完成;接着计算i=i++=1;i=i++=2;i=i++=3.

对于int b=(++i)+(++i)+(++i);进行的就是过程为++i4++i5b=i+i=10(注:因为此时的i已经为5所以i+i5+5不再是4+5)接着计算++i6接着a+=i+16

本文来源:https://www.2haoxitong.net/k/doc/029a9ecd33687e21ae45a965.html

《经典i++与++i的问题.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式