int i = 1; int j = i++; if((i > j++) && (i++ == j)) i += j;
3
5
6
7
int j = i++;执行后:
if((i>j++) && (i++ == j)) i+=j;
其中,j++后j=2. (i++ == j)成立,同时i++变成了3 最后 i+=j; i=3+2变成了5
i++: 先把i的值赋给别人,i在自增1;
++i: i的值先自增1,在赋值给别人。
int i=1;
int j=i++;//此时先把i的值1赋值给j,所以j此时为1,然后i的值自增1,变为2
if((i>j++)&&(i++==j))//首先i>j++比较的是2>1,比较完后,j的值已经变成了2.i++==j比较的是2==2,此时i的值已经变成了3,if语句里面的条件为真,继续执行
i+=j;//所以最后i的值是i=3+2=5.
int i = 1; int j = i++; // 此时i = 2, j = 1; if((i>j++) && (i++ == j)){ // 从左往右看, // i>j成立,此时j+=1,j=2,继续判断i++ == j,成立,此时i+=1, i=3; i += j; //j=2, i=5 }
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题