99问答网
所有问题
c语言中语句中 "连等" 问题
问题1
int a,b=2,c=4;
a=b=c;
a=?
b=?
问题2
int a,b,c,d;
b=2;c=3;d=4;
a=b>=c?d:b;
a=?
b=?
以上两题求,a,b的值。
举报该问题
推荐答案 推荐于2017-09-19
这两题关键两点:
1.
运算符
的优先级跟结合性。
2.一个赋值表达式是有值的,值就是被赋的值,比如a=3 ,这个赋值表达式的值就是3,若有b=(a=3),则b的值为3.
第一题:a=b=c中只有一个运算符,等号,所以优先级是一样的,而等号的结合性是从右向左的(也就是等式从右往左计算),所以a=b=c 等同于 a=(b=c),故a=4,b=4;
第二题:
优先级 : 关系运算符>"?:">赋值运算符,
故a=b>=c?d:b 等价雨 a= ( (b>=c)?d:b );
所以 a=2,b=2;
关于运算符的优先级可以参考
http://baike.baidu.com/view/262524.html
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://99.wendadaohang.com/zd/WX77tXjO7.html
其他回答
第1个回答 推荐于2017-09-02
连等关键有两点:
1、
运算符
的优先级跟结合性。
2、一个赋值表达式是有值的,值就是被赋的值,比如a=3 ,这个赋值表达式的值就是3,若有b=(a=3),则b的值为3.
例如:
a=b=c中只有一个运算符,等号,所以优先级是一样的,而等号的结合性是从右向左的(也就是等式从右往左计算),所以a=b=c 等同于 a=(b=c),故a=4,b=4;
第2个回答 2010-08-19
第一题
a=4,b=4。赋值语句是将C的值分别赋给a和b
第二题
a=2,b=2。a=b>=c?d:b等价于a=((b>=c)?d:b)其中b>=c为假则((b>=c)?d:b)的值为b的值,然后将b的值赋给a。因此a=2,b=2
第3个回答 2010-08-19
问题1可能是a=4,b=4
问题2是a=b=2
第4个回答 2010-08-19
1:a=4;b=4;
2: a=2;a=2.
相似回答
大家正在搜
相关问题
C语言中允许出现连等的形式吗???
C语言中能不能用连等来进行判断?
c语言中连等号问题
C语言连不等
c语言中什么时候不能连等 什么时候能连等?
C语言中,如果要判断两个数是否同时为1,能不能用连等表达式?
c语言有连等式吗
C语言中三个指针连等怎么理解?还有如p=q=NULL怎么理解...