今天遇到这样一个问题
#include<iostream>
using namespace std;
int main()
{int k=0;
int i=5;
k=(++i)+(++i)+(++i);
cout<<"k="<<k<<endl;
return 0;
}
编译结果k=22,百思不得其解,我个人觉得是编译器得原因:
例如:(++i)+(i++)
有的编译器会解释为:
1.i'=++i
2.result=i'+i'
3.i'++
而另外一些编译器则认为:
1.i'=++i
2.i''=i++
3.result=i'+i''
我再想想吧
#include<iostream>
using namespace std;
int main()
{int k=0;
int i=5;
k=(++i)+(++i)+(++i);
cout<<"k="<<k<<endl;
return 0;
}
编译结果k=22,百思不得其解,我个人觉得是编译器得原因:
例如:(++i)+(i++)
有的编译器会解释为:
1.i'=++i
2.result=i'+i'
3.i'++
而另外一些编译器则认为:
1.i'=++i
2.i''=i++
3.result=i'+i''
我再想想吧
回复Comments
作者:
{commentrecontent}