r = func((x--, y--, x + y), z--)
要分解成:
(1)参数a, 它是逗号表达式进一步拆成: x-- y-- a=x+y (a得11)
(2)参数b, b = z (b得8); z=z-1
(3)调用函数: r = func(a,b) (r = a+b-1 r得 18);
若这时输出 x,y,z 的值,你会发现 各减了1,变 5,6,7 了。
三目运算符:如果问号前面的表达式为真,那么整个表达式的值就等于冒号前面的那个数如果a<b为真,表达式等于a<d?a:d;
如果a<b为假,表达式等于c<d?a:d;
然后再判断:a<d或者c<d;