看看这个怪函数

来源:百度知道 编辑:UC知道 时间:2024/06/15 04:14:50
#include"iostream.h"

main()
{

int x,i,j;
i=1,j=-1;
x=(i++,j);
cout<<x<<endl;

}

输出-1,为什么

x=(i++j),i++=1,j=-1固
x=(1*(-1))=-1 (中间是相乘的关系)
i++与++i结果是不同的,前者i=1,后者i=2

在C/C++里,判断运算符的顺序是从右到左,那么..就是j+,也就是-2了,再加1那么结果就是-1了...

好像是这样的..不知道错了没..请下面高手继续

x=i++*j
等价于:
x=i*j;i++;
所以:
x=-1;i++;