INT 的大小为 4 字节, CHAR 为 1 字节。
的限制INT 的范围是 -2,147,483,648到2,147,483,647 , CHAR 是 -128到127。
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a;
char b;
a = 66000;
b = 'C';
if (b == a)
std::cout << "1";
else
std::cout << "2";
}
上面函数的输出是我不明白的是:
找不到满意的答案。
b == a
和a == b
是相同的比较吗?顺序重要吗? 当
a
的值为67时,上述程序将输出“1”。 最佳答案
它们的类型会自动(隐式)转换,然后进行比较。
https://www.learncpp.com/cpp-tutorial/44-implicit-type-conversion-coercion/
简而言之,
编辑:
是的,它们是相同的。无论其位置如何,char
都应提升为int
类型。如果将较大的商品转换为较小的商品,则有机会失去其值(value)。因此,较小的应该升级为较大的类型。
关于c++ - 比较C++中的两种数据类型?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54664452/