int a=0 b=20 c=40 d=60 if(a)m=a;啥意思

如题所述

if(a)中的a是条件表达式,非0即真,这里面a=0,所以是假,if条件不成立,所以也就不执行m=a;操作,否则执行m=a;操作。另:m=a是赋值语句,是将a的值赋给m。

例如:

0 0 5

先看c=(a-=a-5),(a=b,b+3);

先计算a-=a-5, a=5, 就c=5, 再看后面的(a=b,b+3);a=b=0, b+3没有改变值

所以最后 a=0,b=0,c=5

扩展资料:

若有多个条件表达式像这样连在一起:x=<表达式1>?<表达式2>:<表达式3>?<表达式4>:<表达式5>···执行顺序是从右到左依次判断再求出最后的x,即所谓的右结合性。

注意:如果最后一个表达式是逗号表达式,注意逗号表达式的优先级比条件表达式的优先级低,实际运用中应该避免这种情况以免出错。

例如: int a=1,b=2,c=3,d=4;则条件表达式x=a<b?a:c<d?c:d;的值为:1

参考资料来源:百度百科-条件表达式

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-12-25
if(a)中的a是条件表达式,非0即真,这里面a=0,所以是假,if条件不成立,所以也就不执行m=a;操作,否则执行m=a;操作

另:m=a是赋值语句,是将a的值赋给m本回答被网友采纳
第2个回答  2014-12-25
啊?
相似回答
大家正在搜