Learning C here and I am confused.
char ch;
for(;;)
{
    puts("Type a letter: ");
    ch=getchar();
    if(ch == '~')
    {
        break;
    }
}
Why does it print 'Type a letter' twice instead of once? The program goes something like this when run:
Type a letter:
a
Type a letter:
Type a letter:
d
Type a letter:
Type a letter:
g
PS Same thing happens for while loops too.
 
    