最近小明谈了个女朋友,他呢又刚学了C语言,就想着在女朋友面前帅一下,于是他写了如下代码:
#includeint main() { if (1 + 1 == 2) if (1 < 0) printf("我不喜欢你"); else printf("我们分手吧"); return 0; }
并对他女朋友说,你看看,连电脑都不允许我说我不喜欢你,也不允许咱俩分手,结果一运行,结果却让小明差点丢掉了女朋友,于是小明沉下心来,总结了以下的知识点:
“首先我认为代码中的else 属于第一个if,因为第一个if没有大括号,所以只能有一个句子,所以不会包括else 所以else 所以属于单独一部分,即和if并列的句子,所以在执行了第一个if的语句之后并不会执行else 但是不然 ,C语言else 的匹配机制事是距离最近的那一个if,所以else属于第二个else 由于第二个if没有执行,所以else当然就会执行了,我差点丢了女朋友,兄弟们一定要注意啊“



