假定int a=0,b=1,表达式:(a=‘0’)&&b--,a+b的值是?

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/12 08:39:15
假定int a=0,b=1,表达式:(a=‘0’)&&b--,a+b的值是?

假定int a=0,b=1,表达式:(a=‘0’)&&b--,a+b的值是?
假定int a=0,b=1,表达式:(a=‘0’)&&b--,a+b的值是?

假定int a=0,b=1,表达式:(a=‘0’)&&b--,a+b的值是?
结果变量a值为48,b值为1,表达式!(a='0')&&b--,a+b值为49
!(a='0')&&b--,a+b
根据运算符优先级,结合性,即
(!(a='0')) && (b--) ,a+b
由于逗号运算符和&&运算符的求值顺序定义为自左向右,逗号表达式的值由最某项决定
故这个表达式的值必为a+b
由于&&运算符的短路效应
!(a='0')值为0,且a值为字符‘0’的ascii码值48
所以b--未执行,即b值仍为1
因此48+1=49