【发布时间】:2011-04-17 17:33:50
【问题描述】:
#include<iostream.h>
void main() {
if(cin>>2) { // what is cin>>2 doing inside arg of if
cout<<"if works";
} else {
cout<<"else works";
}
}
我们在这段代码中没有收到错误。但是 Alwaysif 语句有效 为什么?怎么样?
【问题讨论】:
-
它像任何其他表达式一样被评估,显然是一个非零值。
-
和
void main()已弃用,它应该是int main()。在第一次使用cin或cout之前,您需要using std::cout; using std::cin;或using namespace std;。 -
我用turbo-c++编译了这个
-
这不适合我。还有很多其他警告(例如使用 iostream.h)表明您可能正在使用古老的编译器。
标签: c++ if-statement