花括匹配一进入while循环就出不来

 在这里书写代码片  
```#include<stdio.h>

int main()
{
    int ch;
    int j=0;

    while((ch = getchar()) != EOF );
    {
        if( ch == '{')
        {
            j++;
        }
        if(ch == '}' && j!=0 )
        {
            j--;
        }

        if (ch=='}' && j==0 )
        {
            printf("no\n");
            return 0;
        }

    }
    if( j==0 )
    {
        printf("yes\n");
    }
    else
    {
        printf("no\n");
    }
    return 0;   
}
为啥那while循环出不来    vc6中

while((ch = getchar()) != EOF );把最后的分号去掉