为什么编译器无法编译?这里没有不能识别的符号呀!

#include <stdio.h>
void main()
{
    int n=0;
    scanf("%d",&n);
    int a[n];
	k=0;
    
    int m=0;
    scanf("%d",&m);
    int i=0;
    		for(i=0;i<n;i++)
    		{
        		a[i]=1;
    		}

    int count=0;
    int j=0;
    printf("%d %d %d\n",n,k,m);
    for(i=0;i<n;i++)
    {
        for(j=k;1;j++)
        {
            j=j%n;
            if(a[j]==1)
            {
                count++;
                if(count==m)
                {
                    a[j]=0;
                    break;
                }
            }
        }
		if (i==n-1)
		{
        printf("最后一个出列的是%d\n",j);

		}

        k=j+1;
        for(j=k;;j++)
        {
            if(a[j]==1)
            {
                k=j;
                break;
            }
        }
        count=0;    
    }
}

 

首先k没定义是一个错误,但是不会出现你图片那样子。出现你图片那个样子的原因就是你直接复制了网上的代码来运行,有些网站的代码你复制直接运行就会提示这个

可能是定义的一些变量应该写在语句的最开始吧

第7行,k = 0,没有定义直接赋值