求解答if嵌套问题

bignof 2017-02-19 12:11:15
问题是如果没有红圈中的花括号,那就不显示*号,有花括号才显示。 if语句没有花括号时执行第一条语句,但是len=1,不就是包含在第二个if里面的吗
...全文
148 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
小灸舞 版主 2017-02-20
  • 打赏
  • 举报
回复
1.if与else一般是就近原则。栈的原理。

2.为了避免这种情况,一般if else后面都加上{};
  • 打赏
  • 举报
回复
我觉得如果没有那个花括号的话,那个else会跟最近的那个if匹配,也就是你要括起来的那个if不会跟外面那个if匹配。
几罗星人 2017-02-19
  • 打赏
  • 举报
回复
else总是与最近没匹配的if配对
几罗星人 2017-02-19
  • 打赏
  • 举报
回复
没有的话,花括号下面的else就和if((len=cc[i] * MAXHIST……这个if配对了
paschen 2017-02-19
  • 打赏
  • 举报
回复
else是就近匹配 没脸括号,else匹配的是 之前大括号里面的那个if
yaoqibbs 2017-02-19
  • 打赏
  • 举报
回复
你这是什么IDE?
faihung 2017-02-19
  • 打赏
  • 举报
回复
引用 7 楼 yaoqibbs 的回复:
你这是什么IDE?
像是vim
bignof 2017-02-19
  • 打赏
  • 举报
回复
引用 5楼我是你的主体 的回复:
引用 1楼几罗星人 的回复:
没有的话,花括号下面的else就和if((len=cc[i] * MAXHIST……这个if配对了
还有为什么cc【i】=1但是*打了五个出来
这个知道了写完自己忘了
bignof 2017-02-19
  • 打赏
  • 举报
回复
引用 1楼几罗星人 的回复:
没有的话,花括号下面的else就和if((len=cc[i] * MAXHIST……这个if配对了
还有为什么cc【i】=1但是*打了五个出来
bignof 2017-02-19
  • 打赏
  • 举报
回复
引用 1楼几罗星人 的回复:
没有的话,花括号下面的else就和if((len=cc[i] * MAXHIST……这个if配对了
如果和最近的if配对的话,那这两个if和else是如何执行的,是否第一个if没有语句执行了

69,371

社区成员

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

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