29.已知有声明"int a=12,b=15,c;",则执行表达式"c=(a||(b-=a))"后,变量b和c的值分别为( 29 ) A.3,1 B.1就是求执行后b,c的值,答案说b的值是15,我觉得是3啊,为什么它不变?没分了不好意思,

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/03 16:43:24
29.已知有声明

29.已知有声明"int a=12,b=15,c;",则执行表达式"c=(a||(b-=a))"后,变量b和c的值分别为( 29 ) A.3,1 B.1就是求执行后b,c的值,答案说b的值是15,我觉得是3啊,为什么它不变?没分了不好意思,
29.已知有声明"int a=12,b=15,c;",则执行表达式"c=(a||(b-=a))"后,变量b和c的值分别为( 29 ) A.3,1 B.1
就是求执行后b,c的值,答案说b的值是15,我觉得是3啊,为什么它不变?没分了不好意思,

29.已知有声明"int a=12,b=15,c;",则执行表达式"c=(a||(b-=a))"后,变量b和c的值分别为( 29 ) A.3,1 B.1就是求执行后b,c的值,答案说b的值是15,我觉得是3啊,为什么它不变?没分了不好意思,
a || b表达式只要a、b任意一个不为零就返回非零值,该表达式有截断功能,也就是在满足第一个操作数a非零的情况下,不判断b直接返回非零值
在本题中a = 12是非零值,所以不执行后面的b -= a,故b的值未变