有以下程序:
#include
main()
{
nt x=1,y=0;
if(!x)y++;
else if(x==0)
if(x)y+=2;
else y+=3;
printf("%d\n",y);
}
程序运行后的输出结果是( )。
else 子句总是与前面最近的不带 else 的 if 相结合, 与书写格式无关。 本题中的层次关系是: if(!x)与 else if(x==0)是一组, 位于条件判断的最外层。 而 if(x)与 else 是一组, 位于 else if(x==0)条件的内层。 由此可知条件均不成立, 所以 y 未进行任何操作, 仍为 0。 答案选择 D 选项。