在C++primer Plus 第六版162页中有一个三目表达式的问题
const char x[2]={
"Jason","at your service\n"};
const char*y="Quillstone";
for(int i=0;i<3;i++){
cout<<((i<2)?!i?x[i]:y:x[1]);
}
这个令人费解的表达式打印了3个字符串如下:
Jason Qillstone at your service
但是书中对于这个复杂的三目表达式并没有给出明确的解释。
在C语言标准中规定:条件表达式(三目运算符)的结合性是右结合,即自右向左结