c代码疑问请问该怎么办

#include
int main()
{
int a=4;
int b=3;
while (b!=0);
int m=a%b;
a=b;
b=m;
printf("%d\n",a);
return 0;
}
这段代码有什么问题?

while(b!=0)后面的分号删除。并且后面三行代码要放到while的代码块中,加大括号

#include<stdio.h>
int main()
{
int a=4;
int b=3;
while (b!=0)
{
    int m=a%b;
    a=b;
    b=m;
}
printf("%d\n",a);
return 0;
}

#include <stdio.h>
int main()
{
int a = 4;
int b = 3;
while (b != 0)
{
int m = a % b;
a = b;
b = m;
}

printf("%d\n", a);
return 0;

}


#include<stdio.h>
int main()
{
    int a=4;
    int b=3;
    while (b!=0)
    {
          int m=a%b;
          a=b;
          b=m;
    }
    printf("%d\n",a);
    return 0;
}