A
选A两个else都是与if(!flag1)匹配的。flag1=5,所以!flag1为0flag2 = 0,所以最终执行最后一个else,使得a=-1
if else if else 三个是一组,和最近的if匹配,就是最内层,之后判断就OK了,上面两个if为外层