if-else问题。

zhangfeifei89757 2012-02-27 04:54:45
#include<iostream>
using namespace std;
int main()
{
int x=0,y=0,a,b;
cin>>a>>b;
if(a) if(b) x++;
else y++;
system("pause");return 0;
}



这句 if(a) if(b) x++;
else y++;


else居然是和 if(b)匹配的。。。难道ifelse是一句话?不用打{}??
...全文
90 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
qixing1115 2012-02-27
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 gdujian0119 的回复:]
和最近的匹配,还有#if #else 语句也是
[/Quote]
++
孤独小剑 2012-02-27
  • 打赏
  • 举报
回复
和最近的匹配,还有#if #else 语句也是
矫情狗_____ 2012-02-27
  • 打赏
  • 举报
回复
因为else离if(b)最近,所以这两个匹配呗...
而为什么不用打{}是因为只有一个句子的时候允许不用{},但是建议打{}!
tan598121925 2012-02-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 bluewanderer 的回复:]

else自然优先和同一个语句块里前面最近的if匹配
[/Quote]++
tiandragon00 2012-02-27
  • 打赏
  • 举报
回复
else和离他最近的且尚未配对的If配对
pengzhixi 2012-02-27
  • 打赏
  • 举报
回复
去看看书上有关if else配对的规则吧
bluewanderer 2012-02-27
  • 打赏
  • 举报
回复
else自然优先和同一个语句块里前面最近的if匹配

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧