怎么算出来是C选项的,算来算去还是D,可以解释一下运算过程吗,请请教

img

||是两边只要有一个为真就是真。
第一个表达式(N=B>A)是真了,那么整个表达式就是真,和第二个表达式的结果无关。
所以m的语句没有执行,m也没有被赋值,依旧是0。
整个表达式(N=B>A)||(M=A<B)的结果为真(值是1)返回给了K。所以k是1,m是0

||是逻辑运算符,不是算术运算符,注意是两个竖线
它有短路特性
前面已经是true,后面的就不执行了
那么没有给m赋值,它就还是初始值