C++代码打印奇怪的值
C++ code printing strange values
我遇到了一个非常愚蠢但奇怪的问题。当我尝试编译和运行以下代码时,我的编译器正在打印"ggl",但我认为它不应该。奇怪的是,在做了这么多编程之后,我被困在这里。问题到底出在哪里?有人可以帮我吗?提前感谢!!
#include <iostream>
using namespace std;
int main() {
int t=8;
if(1<t<5){
cout<<"ggl";
}
//cout<<aa;
return 0;
}
此行不执行您认为的功能
if(1<t<5)
你不得不说
if (1 < t && t < 5)
第一个版本说
if ((1 < t) < 5)
其计算结果为
if (true < 5)
if (1 < 5)
这总是正确的。
你的if
条件有效地说if ((1 < t) < 5)
,这总是正确的,因为(1 < t)
要么是 1 要么是 0(1 < 8
计算结果为 1)。
由于链式比较(通常)在C++中不起作用,因此您需要以不同的方式检查条件:
if (1 < t && t < 5) {
cout << "ggl";
}
if(1<t<5)
不做你认为它做的事情。它不确定t
是否介于 1 和 5 之间。你想要
if ((1<t) && (t<5))
它实际做的是取(1<t)
值(如果1<t
,则为 1,否则为 0),然后查看该值是否小于 5,它总是如此。
相关文章:
- 这个指针和内存代码打印是什么?我不知道是打印垃圾还是如何打印我需要的值
- 为什么这个 c++ 代码打印出长度 5,当我打印出字符串时,程序会自动终止?
- C ++如何使用UTF8十六进制代码打印UTF8符号?
- 如何使代码打印文本文件中的第一行?
- 有没有办法用单行逻辑代码打印金字塔星形图案?面试官向我的朋友问了这个问题
- 为什么我的代码打印右值 2 次而不是右值和左值?
- 为什么我的代码打印错误的密文
- 代码打印出一系列无意义的数字
- 为什么此代码打印字符串而不是打印地址
- 有人可以解释为什么此代码打印4
- 期望:代码打印出x(您键入的)在矩阵中出现的次数.实际:代码打印出值量
- 为什么此代码打印6而不是5
- 为什么此代码打印"olleH"?
- 为什么我的代码打印每个数字
- C++代码打印奇怪的值
- 为什么此代码打印 0
- 如何使用 logcat 以本机代码打印(或转储)包裹
- 我的代码打印出地址而不是数组值
- 为什么此代码打印垃圾
- 为什么这个代码打印出一个4