首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

求i,该如何解决

2012-02-24 
求iinti1intji++if((i j++)&&(i++j))i+jcout i endl个人分析:i1时j2所以i j++肯定是0,这

求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;

热点排行