You didn't specify the language, but if this is C or C++ (where such questions often arise) these expressions are ERRORS. They have no meaningful results. No correct answers.
Any compiler is allowed to do anything it wants with these. For example, on Sun C++ 5.8 2005/10/13 I am getting 10 for both i and j.
As for references:
The C Programming language, ISO 9899:1999, paragraph 6.5/2
Between the previous and next sequence point an object shall have its stored value modified at most once by the evaluation of an expression. Furthermore, the prior value shall be read only to determine the value to be stored.70)
70) This paragraph renders undefined statement expressions such as
i = ++i + 1;
a[i++] = i;
The C++ Programming Language, ISO 14882:2003 paragraph 5
Between the previous and next sequence point a scalar object shall have its stored value modified at most once by the evaluation of an expression. Furthermore, the prior value shall be accessed only to determine the value to be stored. The requirements of this paragraph shall be met for each allowable ordering of the subexpressions of a full expression; otherwise the behavior is undefined. [Example:
i = v[i++]; // the behavior is unspecified
i = 7, i++, i++; // i becomes 9
i = ++i + 1; // the behavior is unspecified
i = i + 1; // the value of i is incremented
—end example]