if 与 else 配对学习

#牛客创作赏金赛#(C++新人)
原先我记的是else 会与上面最近的未配对的 if 配对
但是,看个例子

int x, y;
y = 0;
cin >> x;

if (x >= 0)  //1号
{
if (x > 0)  //2号
{
y = 1;
}
}
else
{
y = -1;
}
cout << y;

若按照开头的规则,else会与2号if配对,
实际运行时,若输入0,输出也是0
由此看出else其实是与1号if配对

于是我将配对规则 完善为 else 会与上面最近的未配对的同级 if 配对
这里同级指else 和 if 被相同数量的{}包裹,且处在同一最小{}的内部

若有不对或表达不当,欢迎指正
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务