1楼:匿名用户
由运算bai符优先级可知
原表达du式等效于zhi
(c==(b++>a))&&a++,a+b又由&&运算符的dao短路效应可内知子表
达式(c==(b++>a))&&a++中,&&右侧的a++未被执行容又由逗号运算符是顺序点这一点,此间所有***均会发生,所以只有b值自增了一
所以整个逗号表达式的值为4(a+b==1+3)
2楼:匿名用户
c=3因为c从来没有被赋值
整个表达式的值是4
因为 逗号运算符 ,结果为 a+b,即4
假定a和b为int型变量,则执行以下语句后b的值是: a=1;b=10; do{b-=a;a++;}while(b--<0);
3楼:匿名用户
额 一开始我被糊弄抄到了 后来用printf一输出才发现原来错得糊弄离谱啊
b=10 a=1 b-=a 等价于b=b-a 所以b=9 a++ 所以a=2 重头戏来啦
while(b--<0) 嘿嘿 注意是《号哦 b--<0 是先用b的值与0比较大小 再b自减1 也就是说9<0 当然是假啦 所以就退出循环 又b要自减1 所以最后b=8呵呵
4楼:铁书包
这是正常的,因为循环只执行了一遍!
do....while()的用法是执行一遍之后判断是否符合条件!
对应本题就是执行一遍之后,检查b--是否小于0,若果小于0则继续执行,不小于0则退出!
5楼:逆笔回锋
在do执行完后,b变成9
在while语句中,先判断b<0==false再进行b--;
所以b==8;
又例a[3]=;
a=1;
那么a[++a]==2;a[a++]==1;但无回论是哪一个答a都变成了2
6楼:匿名用户
不是8能是什么?
一开始, a=1, b=10
b-=a; 这时b=9了
a++; 这时a=2了,b还是9
while(b--<0) ; 这时b为8了,所以条件不成立,跳出循环。
所以,最后b=8.
7楼:美丽的华
首先b-=a,这时b=10,a=1,执行后b=9,a=2
然后while(b--<0),b--了一次,b=8
8楼:匿名用户
其实,来你应该是记错了,do-while语句自里面while(表达式)必须在判断表达式为真,才可以继续进行下一轮的循环,这里说的是b--<0,是假的,所以停止循环,退出语句。b--使用过后,自减,得出来b值为8.
当a 3,b 2,c 1时"表达式f a》b》c
1楼 路尧家的顾小言 因为f a b c可以写成f a b c ,a b是3 2为真,值为1 然后1 c是1 1为假,值为0 最后赋值给f,所以f 0。 这个式子的解答主要在于理解运算符的优先级。 2楼 zyz郑远征 首先计算a b 因为a的值大于b,所以a b的值为1,然后再计算1 c的值,因为1...
如果int"a 1,b 2,c 3,d 4,则条件表达式“a
1楼 德形兼备 当a b 成立 则结果就是 a 如果 a b 不成立 则结果要判断 c 2 c 所以这题 结果是a 1 2楼 匿名用户 条件运算符的结合性是从右到左结合的,先算 c d?c d 返回 c 3 再算 a b?a c 返回值为1。 3楼 何慧哈 先判断a b为真取a值,得等式a d c ...
求解。变量a,b,c的值分别是?int x 10,y
1楼 草柏渡 首先你这程序有错误的判断 x y 就好。 在前面 或就 就是先 或 再用数 在后面就先就是先用数在 或 所以 x y 是对的。所以a x 所以a 8的 经过两个 。 b x 先赋给b再 。所以b 8 x为9 c等于y。y等于10 y 是没有执行到的。 5 执行以下程序段后 变量a b ...