C++中设整型变量m、n、b、a、c、d的值均为一,(m=a>b)&&(n=c>b),为什...
发布网友
发布时间:2024-10-24 07:21
我来回答
共3个回答
热心网友
时间:2024-11-05 20:42
&&运算符的特点是,当左值和右值中有一个为假,则整个&&表达式的值为假,
而且&&是左结合的,也就是从左向右运算,
所以一旦左边的表达式为假,则整个&&表达式的值为假,不会再处理右表达式,
这个也叫做&&短路。
m、n、b、a、c、d的值均为一,所以a>b为假,m=a>b=0,所以不会再处理右表达式n=c>b,
所以n的值不变
热心网友
时间:2024-11-05 20:43
一楼说的对
热心网友
时间:2024-11-05 20:44
m = a > b;
m将接受a > b返回的bool值(0假1真),由于a = b = 1,所以a > b返回0,所有m = 0
对于&&运算符,只有当左表达式为真,才执行&&的右表达式
因为m = 0,左表达式求值后为假(m = 0),则右表达式不执行,n仍是1