for the sake of understanding the for loop construct usually have following format
for(<statement>;<condition>;<statement>;)
<body statement>;
</statement></condition></statement>
Lets take a simple example, the below for loop will execute the body 4 times;
for (int i=1;i < 5;i++)
cout << i;
but semicolon at the end of for loop instruct that the said for loop does not have any body so will not execute the cout instruction as part of for loop
for (int i=1;i < 5;i++)
cout << "Test";
For loop parameter are optional for example this is valid for loop, the only difference is that it does not have declaration and increment statements;
For (;i < 5;)
cout << i++;
similarly this is also valid but it will be an infinite for loop
for (;;)
cout << i;