我知道根据标准,应避免使用fun(++a, a)
,因为第二个参数未定义。
但是,这种形式是否安全:
(++a ? a : 10);
我测试了这段代码,结果符合预期。即对于
a = -1
,它的值为10
,对于任何其他的a
,它的值为a+1
。这个行为是否符合标准,还是强烈依赖于编译器?我知道根据标准,应避免使用fun(++a, a)
,因为第二个参数未定义。
但是,这种形式是否安全:
(++a ? a : 10);
a = -1
,它的值为10
,对于任何其他的a
,它的值为a+1
。这个行为是否符合标准,还是强烈依赖于编译器?