关于if语句,验证输出结果是c,if后面不是跟条件表达式么?还能赋值?
楼主是想问,if(boolean表达式)表达式的类型?
其中,括号内为boolean表达式,即表达式的结果必为boolean类型
b=false赋值表达式,因为b本身是boolean类型,且赋值后为boolean
如果存在这样,int b = 0; if(b =1) 此时虽然也是赋值表达式,但是b为整型,不符合if的要求,会出现:
不兼容的类型
找到:int
需要:boolean
注意,这是与C语言的区别(标准C语言中并没有关于bool的定义,可以借助int型表示)。
综上,不是所有的赋值表达式都能作为if的表达式!
总之,if(表达式必须有boolean类型的结果),并且只要有boolean类型的返回结果即可。例如,返回值类型为boolean的函数调用:if(func())
|