jmfs.net
当前位置:首页>>关于假设int a=1,b=2;则表达式(++a/b)*b--的值是多少...的资料>>

假设int a=1,b=2;则表达式(++a/b)*b--的值是多少...

优先级问题,真正的程序中一定要尽量避免这种可读性差且宜出错的代码 这个表达式分解如下 a=a+1; //a=2 a=a/b; //a=1 a=a*b; //a=2 b=b-1; //b=1 这一句是这个表达式结束后的事情了,所以表达式的值是2

答案是2,考虑优先级哦

选A ?:条件表达式,如果?前的值为真,最后的结果就是:前的值,否则就是:后的值。 a

逗号运算符:在C语言中,多个表达式可以用逗号分开,其中用逗号分开的表达式的值分别计算,但整个表达式的值是最后一个表达式的值。 对于本题,以a+b=2+5=7作为整个表达式的值。 选A

分析: 首先(c==a>c):右结合。因为c=1,a=3,因此,a>c返回1,c==1返回1 然后,a/b/2.0,左结合。a/b,结果商为1,1/2.0的结果是0.5,1+0.5=1.5 最终结果1.5

①结果为2 ②int a=1,b=2,c=0; c=(a==--b||--a,a+b+1.0/2); 我们先把其中所有运算符列出来,先低后高: = , == || + / -- () ③按以上优先级顺序,从高优先级开始加括号: c=(((a==(--b))||(--a)),((a+b)+(1.0/2))); == || 这两个操作符优先级相等,...

a=b 是赋值,所以总是成功,为真。 a-b 是算术运算,所以总是成功,为真。 !(a=b) 为假 得0 !(a-b) 为假 得0 a&&b 为真 得1 -a&&b 为真 得1 表达式!(a=b) -a&&b+2*2的值是 真,结果为 1

结果是3

a=2 b=5 b++ 这里的B=6; a+b = 2 +6 = 8

第一题 对,第二题 错; 分析如下 第一题 ++a先执行加后使用a值 a++先使用a的值再执行加;减类似分析 (++a==b--)?--a:++b执行顺序为从左到右 先执行++a 所以此时a=2,再与b比较,比较后,b自减,为1; 所以a=b=2为真返回 条件语句的前面部分,由...

网站首页 | 网站地图
All rights reserved Powered by www.jmfs.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com