When I see something like this it's often written by a beginner that hasn't learned to use && yet. In that case I would guess this is what he intended to do:
1 2 3
do{
//stuff
} while(a > 100 && b > 100 && c > 100 && d > 100);
why have the option?
You can use any expression you want as a loop condition as long as the return type can be converted to a bool.
It is legal C++, and and it will run. However, the only condition which will have any effect on whether it keeps looping will be j < 8. It is NOT the same as writing: