c++中为什么if(a=b) x++(设有int x,a,b,c)是合法的if语句?不应该是两个等号吗?
c++中为什么if(a=b) x++(设有int x,a,b,c)是合法的if语句?不应该是两个等号吗?
日期:2011-06-11 21:36:35 人气:1
a=b 就是将b的值赋给a,再返回a, if语句中间是个bool型号变量,你所说的a == b是个判断语句,也是bool型的,如果用成a=b 最后就相当于if(b)它会将b 隐式的转为bool进行判断,也是合法的。