<分区>
#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 上发现了这个。但我不明白副作用的概念和返回类型的解释方式,请任何人都可以用简单的方式阐明这个概念吗?