Basically, Your both expressions for(;1;) and for(;;) will give you infinite loop.
MSDN says
All of the expressions of the for statement are optional; for example,
the following statement is used to write an infinite loop:
for (; ; )
{
// ...
}
So no criteria in condition of loop will give you a infinite loop.
On you other question for(;1;): you are not convinced that it will give you infinite loop.
It has to a infinite loop, Because result of condition statement is not equal to 0.
Following are some examples:
for(;1;) //Infinite loop
for(;0;) //Loop will not execute at all
for(;-1;) //Infinite loop.