【发布时间】:2023-03-21 09:23:01
【问题描述】:
#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
第二个字符 1
但输出是
第一个字符 1
第二个字符 49
我在阅读三元运算时在 geeksforgeeks 上发现了这个。但是我不明白副作用和返回类型的概念,在那里解释的方式,请任何人都可以用简单的方式清除这个概念吗?
【问题讨论】:
-
三元运算符没有副作用(除非你自己把它们放在那里)所以不用担心这个问题。
标签: c++