在C语言算法中的前置++与后置++

来源:互联网 发布:mac谷歌应用商店打不开 编辑:程序博客网 时间:2024/05/22 12:38

1、利用下面的代码进行讲解;

int main()
{
int x = 8;
int y,z;
y = (++x)+(x++)+(++x);
z = (--x)+(x--)+(--x);
pritnf("x = %d, y = %d, z = %d\n", x, y, z);
}

(1)通常上述代码我们得到的结果为
x = 10, y = 30, z= 33;
这是在windows操作系统下面得出的结果
(2)然而在Linux操作系统下结果为
x = 10, y = 28, z = 31;
(3)这是俩个操作系统下面的不同
*一、在windows操作系统下面运算方式是:
如果一个运算式中含有前置++(–),则先将算式中所有的前置++(–)全部算 完;
然后在进行整个算式的运算;
最后进行后置++(–)的运算
二、在Linux操作系统中则是:
在遇到前置与后置++(–)时,则是从算式的左边(=号的右边表达式)开始进行向右进行计算;
遇到一个++(–)则进行一个计算,与算式运算几乎同步进行;
最后整个算式结束运算后再进行后置++(–)的计算*

原创粉丝点击