主题:求助!
			 牛欢笑!
				 [专家分:0]  发布于 2011-04-16 14:56:00
 牛欢笑!
				 [专家分:0]  发布于 2011-04-16 14:56:00							
			cans += ((sq_feet % COVERAGE == 0)) ? 0:1;我就是不明白后面的0,1到底赋给谁!求高手解析下!我还是菜鸟,麻烦说详细点!谢谢!
						
					 
		
			
回复列表 (共4个回复)
		
								
				沙发
				
					 ucchen [专家分:80]  发布于 2011-04-16 18:20:00
ucchen [专家分:80]  发布于 2011-04-16 18:20:00				
				
cans += ((sq_feet % COVERAGE == 0)) ? 0:1
第一步:sq_feet % COVERAGE
第二步:判断上述结果是否等于0
第三步:是的话为0,否者为1
第四步:cans = cans + 0或者1
这道题应该注意优先级的问题,其中?:的优先级为14,+=的优先级为15
							 
						
				板凳
				
					 牛欢笑! [专家分:0]  发布于 2011-04-16 22:58:00
牛欢笑! [专家分:0]  发布于 2011-04-16 22:58:00				
				
[em12]谢谢了!
							 
						
				3 楼
				
					 limao090407 [专家分:60]  发布于 2011-04-16 23:08:00
limao090407 [专家分:60]  发布于 2011-04-16 23:08:00				
				当然根据优先级判断,最高的是括号内部,这是一个条件语句,如果括号内条件满足,满足右边值就为0,否则为1,然后再进行加赋值运算,即cans=cans+0或1
							 
						
				4 楼
				
					 f34355281 [专家分:50]  发布于 2011-04-17 10:19:00
f34355281 [专家分:50]  发布于 2011-04-17 10:19:00				
				当cans?? =??((sq_feet??%??COVERAGE??==??0))??为真的时候取???后面的值,为假取:后面的值
							 
									
			
我来回复