回 帖 发 新 帖 刷新版面

主题:求助!

cans += ((sq_feet % COVERAGE == 0)) ? 0:1;我就是不明白后面的0,1到底赋给谁!求高手解析下!我还是菜鸟,麻烦说详细点!谢谢!

回复列表 (共4个回复)

沙发


cans += ((sq_feet % COVERAGE == 0)) ? 0:1
第一步:sq_feet % COVERAGE
第二步:判断上述结果是否等于0
第三步:是的话为0,否者为1
第四步:cans = cans + 0或者1
这道题应该注意优先级的问题,其中?:的优先级为14,+=的优先级为15

板凳


[em12]谢谢了!

3 楼

当然根据优先级判断,最高的是括号内部,这是一个条件语句,如果括号内条件满足,满足右边值就为0,否则为1,然后再进行加赋值运算,即cans=cans+0或1

4 楼

当cans?? =??((sq_feet??%??COVERAGE??==??0))??为真的时候取???后面的值,为假取:后面的值

我来回复

您尚未登录,请登录后再回复。点此登录或注册