c语言if与 else的配对用法

img

A

选A
两个else都是与if(!flag1)匹配的。
flag1=5,所以!flag1为0
flag2 = 0,所以最终执行最后一个else,使得a=-1

if else if else 三个是一组,和最近的if匹配,就是最内层,之后判断就OK了,上面两个if为外层