'?' の結合性から は右から左に、任意の 2 つの連続する '?' です。演算子はそのように扱われなければなりませんよね?
今、
int x=-1;
int y=x?x++?x:-1:1;
私はこれが次のように実行されることを期待しています:
int y = x ? (x++?x:-1) : 1;
右から左に実行されるため、最初の「?」に遭遇したとき。ステートメントでは、x の値は 0 であり、式は次のようになります。
int y= x? 0 : 1;
したがって、私は y が 1 であることを期待していましたが、dev-cpp でゼロを示しています。どこが間違っていますか?