No, I know that the semicolon at the end of for loop is not there. I am very much clear about that. I think that the compiler is faulty. I cannot perceive any other logical explanation. I posted to know if anyone thinks otherwise.
If that is your code, then your compiler is broken. It does what it says with gcc.
But if this is your code (note the 1-character difference), then "Hello" is printed once.
Now, did you paste what you tried, or did you recite from memory what you thought you tried?