#include <stdio.h> main() { int x=2,y= -1,z=5; if(x<y) if(y<0) z=0; else z=z+1; printf("%d\n", z); }
运行结果为:
5,因为else是和离它最近的if相配,由于第一个if为假,所以后面都不执行, z为定义的初始值5
5
6
gulu_4 回复 gulu_4: 答案为6; 有多个if和else,else总是跟最接近的if匹配。所以该题中的else匹配的是if(y<0)。
gulu_4 回复 gulu_4: 答案为5
0
考察的是if语句与else的结合,它与最近的的一个没有结和的if结合
曹腾辉 回复 1625674740: 5
useryang 回复 useryang: 刚刚跑了下,是5
5,else和最近的if配对
用户登录可进行刷题及查看答案
登录后提交答案