C++ C++;代码打印奇怪的值
我有一个非常愚蠢但奇怪的问题。当我试图编译并运行以下代码时,我的编译器正在打印“ggl”,但我认为它不应该打印。奇怪的是,在做了这么多编程之后,我被困在了这里。到底是什么问题?有人能帮我吗?提前谢谢C++ C++;代码打印奇怪的值,c++,C++,我有一个非常愚蠢但奇怪的问题。当我试图编译并运行以下代码时,我的编译器正在打印“ggl”,但我认为它不应该打印。奇怪的是,在做了这么多编程之后,我被困在了这里。到底是什么问题?有人能帮我吗?提前谢谢 #include <iostream> using namespace std; int main() { int t=8; if(1<t<5){ cout<<"ggl"; } //cout<<aa;
#include <iostream>
using namespace std;
int main() {
int t=8;
if(1<t<5){
cout<<"ggl";
}
//cout<<aa;
return 0;
}
#包括
使用名称空间std;
int main(){
int t=8;
如果(1这条线没有做你认为它做的事情
if(1<t<5)
if(1
它实际做的是取值(1你的if
条件有效地表示if((1
,这总是正确的,因为(1
要么是1要么是0(1<8
计算为1)
由于链式比较不(通常)在C++中工作,所以需要检查条件不同:
if (1 < t && t < 5) {
cout << "ggl";
}
if(1 我们不能在同一时间输入相同的内容。无论如何,我将+1您的。感谢赛博的快速响应!!这是吗(1@varunkr一般来说,大多数语言都有您刚才看到的行为,原因如下所述。我想到的一个例外是Python
,它允许您最初编写的语法。
if ((1 < t) < 5)
if (true < 5)
if (1 < 5)
if(1<t<5)
if ((1<t) && (t<5))
if (1 < t && t < 5) {
cout << "ggl";
}