求i
int i = 1;
int j = i++;
if((i> j++) && (i++ == j))
i+=j;
cout < <i < <endl;
个人分析:
i=1时 j=2 所以i> j++肯定是0,这样就不会执行i+=j了,但是编译器输出的却是5,不解,求指点
[解决办法]
在if前,先cout < < i < < j;看看。
[解决办法]
int i = 1;
int j = i++;
// i=2,j=1
// (i> j++)是2> 1成立所以后面的判断条件不必了,直接i+=j
//i=2,j=2(++了)
//i+=j -> i=4,j=2
if((i> j++) && (i++ == j))
i+=j;
cout < <i < <endl;
[解决办法]
int i = 1;//i: 1
int j = i++;//i: 2, j: 1
if((i> j++) && (i++ == j))//i> j++ <=> 2> 1 <=> true
i+=j;
cout < <i < <endl;