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";
}
上面函数的输出是

我不明白的是:
  • C++如何比较两种不同的数据类型?我在Google上搜索,
    找不到满意的答案。
  • 这是编译器问题还是我无法阅读?
  • b == aa == 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/

    10-11 22:34
    查看更多