为什么continue是不合法的?

#include<stdio.h>
int main ()
{
    char string [800];
    
    gets (string);
    char c;
    int i=0;
    {
    for (i=0;i<800;i++);
    {if (c>64&&c<91)
        continue;
puts(string);

    }
    }
    return 0;
}
 

continue只能用于循环,即跳出本次循环。问题在于for语句加了分号。

        for (i = 0; i < 800; i++)
            ;//循环体,为空,此处不应加分号
        {
            if (c > 64 && c < 91)
                continue;//无循环可以跳出,无效
            puts(string);
        }