黑马程序员技术交流社区
标题:
代码分析:关于x++
[打印本页]
作者:
白月光
时间:
2014-5-20 14:16
标题:
代码分析:关于x++
int x = 1,y = 1;
if(x++==2 && ++y==2) {
x =7;
}
printf("x=%d, y=%d\n", x, y);
复制代码
分析:先看if后面小括号中的条件是否成立
x++==2就是先将x的原值与2比较看看是否相等,很明显原值1不等于2,x++!=2,因此在&&运算条件中后面的++y不需要参与运算了,但是x++要完成自增运算,所以最后x=2,y=1
int x = 1,y = 1;
if(x++==2 || ++y==2) {
x =7;
}
printf("x=%d, y=%d\n", x, y);
复制代码
分析:同样先看if后面小括号中的条件是否成立
x ++==2不成立,但是在||运算条件中还要看++y==2是否成立,++y先完成自增运算再与2相等,if条件成立,所以x=7,y=2
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2