嗯,关系运算符的优先级高于逻辑与,而!flag等效于flag ==0所以你那表达式先执行!flag 跟left
while(!flag &&left这下你知道了吧。就是判断flage是否等于0并且left是否小于right,如果两者都成立那么就循环。