gpt4 book ai didi

c++ - 三元运算符的意外结果

转载 作者:行者123 更新时间:2023-12-02 00:40:55 24 4
gpt4 key购买 nike

我试图了解三元运算符在 C++ 中的工作原理。

我希望两个 print 语句看到相同的输出,但第二个 print 语句输出 49。

这是为什么?

#include <iostream>
using namespace std;

int main()
{
int test = 0;
cout << "First character " << '1' << endl;
cout << "Second character " << (test ? 3 : '1') << endl;

return 0;
}

输出:

第一个字符 1
第二个字符 49

最佳答案

“1”已转换为表示“1”的 ASCII 代码的整数。三元运算符应该有两个相同类型的值。不能有 3(整数)和“1”(字符)。这就是发生转换的原因。如果隐式转换无法发生,则会生成编译器错误。

关于c++ - 三元运算符的意外结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60673923/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com