Kh*_*han -3 c ternary-operator
我之前使用过三元运算符来处理类似的条件,if-else但这里它不同,即之前没有检查条件?.
printf( "%d\n",10?0?5:11:12 );
Run Code Online (Sandbox Code Playgroud)
编辑:那么,它将如何11通过编译器进行评估,因为我在第一次之前没有看到任何条件?.
表达式10 ? 0 ? 5 : 11 : 12以这种方式解析:10 ? (0 ? 5 : 11) : 12.所以这意味着在第一次测试中,由于10为真,它将进行评估0 ? 5 : 11,其评估为11,因为0为假.