只是阅读一些C ++书籍,我只是想知道是否有人可以仔细检查这一点,这两段代码是否也会这样做?
if (x > 5)
if(y > 5)
cout << "something";
else
cout <<"something else";
if (x > 5) && (y > 5)
cout <<"something";
else
cout <<"something else";
我是否正确地认为这两个人都做了不同的写法,一个朋友告诉我他们是另一个告诉我他们不是那么只是想最好问这里
感谢。
答案 0 :(得分:2)
这两个陈述不一样。如果x <= 5
,前者根本不打印。
第一个例子也有不正确的缩进(并且是一个很好的论据,为什么你应该总是包括大括号)。与大括号等效的是
if (x > 5) {
if (y > 5) {
cout << "something";
} else {
cout <<"something else";
}
}
这应该很明显,如果x <= 5
它什么也不执行。
答案 1 :(得分:0)
他们没有。
考虑x = y = 0的样本数据。 第一个片段不会打印任何内容,而第二个片段会打印&#34;其他内容&#34;。