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

来源:学生作业帮助网 编辑:作业帮 时间:2024/07/21 08:58:19
假定int a=0,b=1,表达式:(a=‘0’)&&b--,a+b的值是?
xN@_^ %&ąiU!$BCB8w!+C#zofr,`u,{IR`),+&H8I$ ˜x;$UI <[SWf&xKD0§xƍȴM>CU&OA4BX#!,qHsnuβэvTk`{P}Nm !h.PH88A'k_@{:j#vU=Uv'r[2s8d0j!R|U(AF3@"ٛwj2rgoM(Xei$U. ż$_v

假定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