The expression
j = j++ * ++j
...is undefined. There is no way to know what the order of these operations are. It could result in anything, or make your CPU burst into flames. It will differ from compiler to compiler, and even within a particular compiler depending on optimisation levels or versions.