A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 shenxian88 于 2015-5-3 22:21 编辑

int a=4,b=7,c,d,e,f;
c=(a++>= --b);
d=(a==++b);
e=(a--==b);
f=(++a<b--);
a,b,c,d,e,f:________。//a,b,c,d,e,f请写出详细的分析过程

3 个回复

倒序浏览
int a=4,b=7,c,d,e,f;  c=(a++>= --b); //c=(4>=6) ; c=0;a=5;b=6; d=(a==++b); // d=(5==7);d=0;a=5;b=7; e=(a--==b); //e=(5==7);e=0;a=4;b=7 f=(++a<b--);//f=(5=<7);f=1;a=6;b=6; a=5;b=6; c=0;d=0;e=0;f=1;
回复 使用道具 举报
其实c,d,e,f主要是判断“=”右侧的表达式的真假,真则返回1,假则返回0;
首先,表达式a++的值为4(a++执行后a值变为5),--b为6(执行后b值变为6),所以(a++>= --b)为假,因此c=0;
其次,表达式++b的值为7(执行后b值变为7),所以(a==++b)为假,故d=0;
然后,表达式a--的值为5(执行后a值变为4),所以(a--==b)为假,故e=0;
最后,表达式++a的值为5(执行后a值变为5),b--为7(执行后b值变为6),所以(++a<b--)为真,故f=1,
当整段代码执行后,a=5,b=6,c= 0,d=0,e=0,f=1
回复 使用道具 举报
邹永权 发表于 2015-5-3 22:12
其实c,d,e,f主要是判断“=”右侧的表达式的真假,真则返回1,假则返回0;
首先,表达式a++的值为4(a++执行 ...

谢谢帮忙
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马