Language: C

a,b;c(int x,int y){if(!y){a=x;b=0;return;}c(y,x%y);b++;}main(){for(;;){intx,y;scanf("%d%d",&x,&y);if(!x)return 0;if(x<y){a=y;y=x;x=a;}c(x,y);printf("%d %d\n",a,b);}}

Compiler output:
main.c:1:1: warning: data definition has no type or storage class
    1 | a,b;c(int x,int y){if(!y){a=x;b=0;return;}c(y,x%y);b++;}main(){for(;;){intx,y;scanf("%d%d",&x,&y);if(!x)return 0;if(x<y){a=y;y=x;x=a;}c(x,y);printf("%d %d\n",a,b);}}
      | ^
main.c:1:1: error: type defaults to 'int' in declaration of 'a' [-Wimplicit-int]
main.c:1:3: error: type defaults to 'int' in declaration of 'b' [-Wimplicit-int]
    1 | a,b;c(int x,int y){if(!y){a=x;b=0;return;}c(y,x%y);b++;}main(){for(;;){intx,y;scanf("%d%d",&x,&y);if(!x)return 0;if(x<y){a=y;y=x;x=a;}c(x,y);printf("%d %d\n",a,b);}}
      |   ^
main.c:1:5: error: return type defaults to 'int' [-Wimplicit-int]
    1 | a,b;c(int x,int y){if(!y){a=x;b=0;return;}c(y,x%y);b++;}main(){for(;;){intx,y;scanf("%d%d",&x,&y);if(!x)return 0;if(x<y){a=y;y=x;x=a;}c(x,y);printf("%d %d\n",a,b);}}
      |     ^
main.c: In function 'c':
main.c:1:35: error: 'return' with no value, in function returning non-void [-Wreturn-mismatch]
    1 | a,b;c(int x,int y){if(!y){a=x;b=0;return;}c(y,x%y);b++;}main(){for(;;){intx,y;scanf("%d%d",&x,&y);if(!x)return 0;if(x<y){a=y;y=x;x=a;}c(x,y);printf("%d %d\n",a,b);}}
      |                                   ^~~~~~
main.c:1:5: note: declared here
    1 | a,b;c(int x,int y){if(!y){a=x;b=0;return;}c(y,x%y);b++;}main(){for(;;){intx,y;scanf("%d%d",&x,&y);if(!x)return 0;if(x<y){a=y;y=x;x=a;}c(x,y);printf("%d %d\n",a,b);}}
      |     ^
main.c: At top level:
main.c:1:57: error: return type defaults to 'int' [-Wimplicit-int]
    1 | a,b;c(int x,int y){if(!y){a=x;b=0;return;}c(y,x%y);b++;}main(){for(;;){intx,y;scanf("%d%d",&x,&y);if(!x)return 0;if(x<y){a=y;y=x;x=a;}c(x,y);printf("%d %d\n",a,b);}}
      |                                                         ^~~~
main.c: In function 'main':
main.c:1:72: error: 'intx' undeclared (first use in this function); did you mean 'int'?
    1 | a,b;c(int x,int y){if(!y){a=x;b=0;return;}c(y,x%y);b++;}main(){for(;;){intx,y;scanf("%d%d",&x,&y);if(!x)return 0;if(x<y){a=y;y=x;x=a;}c(x,y);printf("%d %d\n",a,b);}}
      |                                                                        ^~~~
      |                                                                        int
main.c:1:72: note: each undeclared identifier is reported only once for each function it appears in
main.c:1:77: error: 'y' undeclared (first use in this function)
    1 | a,b;c(int x,int y){if(!y){a=x;b=0;return;}c(y,x%y);b++;}main(){for(;;){intx,y;scanf("%d%d",&x,&y);if(!x)return 0;if(x<y){a=y;y=x;x=a;}c(x,y);printf("%d %d\n",a,b);}}
      |                                                                             ^
main.c:1:79: error: implicit declaration of function 'scanf' [-Wimplicit-function-declaration]
    1 | a,b;c(int x,int y){if(!y){a=x;b=0;return;}c(y,x%y);b++;}main(){for(;;){intx,y;scanf("%d%d",&x,&y);if(!x)return 0;if(x<y){a=y;y=x;x=a;}c(x,y);printf("%d %d\n",a,b);}}
      |                                                                               ^~~~~
main.c:1:1: note: include '<stdio.h>' or provide a declaration of 'scanf'
  +++ |+#include <stdio.h>
    1 | a,b;c(int x,int y){if(!y){a=x;b=0;return;}c(y,x%y);b++;}main(){for(;;){intx,y;scanf("%d%d",&x,&y);if(!x)return 0;if(x<y){a=y;y=x;x=a;}c(x,y);printf("%d %d\n",a,b);}}
main.c:1:79: warning: incompatible implicit declaration of built-in function 'scanf' [-Wbuiltin-declaration-mismatch]
    1 | a,b;c(int x,int y){if(!y){a=x;b=0;return;}c(y,x%y);b++;}main(){for(;;){intx,y;scanf("%d%d",&x,&y);if(!x)return 0;if(x<y){a=y;y=x;x=a;}c(x,y);printf("%d %d\n",a,b);}}
      |                                                                               ^~~~~
main.c:1:79: note: include '<stdio.h>' or provide a declaration of 'scanf'
main.c:1:93: error: 'x' undeclared (first use in this function)
    1 | a,b;c(int x,int y){if(!y){a=x;b=0;return;}c(y,x%y);b++;}main(){for(;;){intx,y;scanf("%d%d",&x,&y);if(!x)return 0;if(x<y){a=y;y=x;x=a;}c(x,y);printf("%d %d\n",a,b);}}
      |                                                                                             ^
main.c:1:142: error: implicit declaration of function 'printf' [-Wimplicit-function-declaration]
    1 | a,b;c(int x,int y){if(!y){a=x;b=0;return;}c(y,x%y);b++;}main(){for(;;){intx,y;scanf("%d%d",&x,&y);if(!x)return 0;if(x<y){a=y;y=x;x=a;}c(x,y);printf("%d %d\n",a,b);}}
      |                                                                                                                                              ^~~~~~
main.c:1:142: note: include '<stdio.h>' or provide a declaration of 'printf'
main.c:1:142: warning: incompatible implicit declaration of built-in function 'printf' [-Wbuiltin-declaration-mismatch]
main.c:1:142: note: include '<stdio.h>' or provide a declaration of 'printf'