Language: C

m;f(r,n,i,t){if(n==1)return r>i&r<10;for(;i++<9&i<r;)t+=f(r-i,n-1,i,0);return t;}main(s){for(;scanf("%d%d",&m,&s),m;printf("%d\n",f(m,n,-1,0)));return 0;}

Compiler output:
main.c:1:1: warning: data definition has no type or storage class
    1 | m;f(r,n,i,t){if(n==1)return r>i&r<10;for(;i++<9&i<r;)t+=f(r-i,n-1,i,0);return t;}main(s){for(;scanf("%d%d",&m,&s),m;printf("%d\n",f(m,n,-1,0)));return 0;}
      | ^
main.c:1:1: error: type defaults to 'int' in declaration of 'm' [-Wimplicit-int]
main.c:1:3: error: return type defaults to 'int' [-Wimplicit-int]
    1 | m;f(r,n,i,t){if(n==1)return r>i&r<10;for(;i++<9&i<r;)t+=f(r-i,n-1,i,0);return t;}main(s){for(;scanf("%d%d",&m,&s),m;printf("%d\n",f(m,n,-1,0)));return 0;}
      |   ^
main.c: In function 'f':
main.c:1:3: error: type of 'r' defaults to 'int' [-Wimplicit-int]
main.c:1:3: error: type of 'n' defaults to 'int' [-Wimplicit-int]
main.c:1:3: error: type of 'i' defaults to 'int' [-Wimplicit-int]
main.c:1:3: error: type of 't' defaults to 'int' [-Wimplicit-int]
main.c: At top level:
main.c:1:82: error: return type defaults to 'int' [-Wimplicit-int]
    1 | m;f(r,n,i,t){if(n==1)return r>i&r<10;for(;i++<9&i<r;)t+=f(r-i,n-1,i,0);return t;}main(s){for(;scanf("%d%d",&m,&s),m;printf("%d\n",f(m,n,-1,0)));return 0;}
      |                                                                                  ^~~~
main.c: In function 'main':
main.c:1:82: error: type of 's' defaults to 'int' [-Wimplicit-int]
main.c:1:95: error: implicit declaration of function 'scanf' [-Wimplicit-function-declaration]
    1 | m;f(r,n,i,t){if(n==1)return r>i&r<10;for(;i++<9&i<r;)t+=f(r-i,n-1,i,0);return t;}main(s){for(;scanf("%d%d",&m,&s),m;printf("%d\n",f(m,n,-1,0)));return 0;}
      |                                                                                               ^~~~~
main.c:1:1: note: include '<stdio.h>' or provide a declaration of 'scanf'
  +++ |+#include <stdio.h>
    1 | m;f(r,n,i,t){if(n==1)return r>i&r<10;for(;i++<9&i<r;)t+=f(r-i,n-1,i,0);return t;}main(s){for(;scanf("%d%d",&m,&s),m;printf("%d\n",f(m,n,-1,0)));return 0;}
main.c:1:95: warning: incompatible implicit declaration of built-in function 'scanf' [-Wbuiltin-declaration-mismatch]
    1 | m;f(r,n,i,t){if(n==1)return r>i&r<10;for(;i++<9&i<r;)t+=f(r-i,n-1,i,0);return t;}main(s){for(;scanf("%d%d",&m,&s),m;printf("%d\n",f(m,n,-1,0)));return 0;}
      |                                                                                               ^~~~~
main.c:1:95: note: include '<stdio.h>' or provide a declaration of 'scanf'
main.c:1:117: error: implicit declaration of function 'printf' [-Wimplicit-function-declaration]
    1 | m;f(r,n,i,t){if(n==1)return r>i&r<10;for(;i++<9&i<r;)t+=f(r-i,n-1,i,0);return t;}main(s){for(;scanf("%d%d",&m,&s),m;printf("%d\n",f(m,n,-1,0)));return 0;}
      |                                                                                                                     ^~~~~~
main.c:1:117: note: include '<stdio.h>' or provide a declaration of 'printf'
main.c:1:117: warning: incompatible implicit declaration of built-in function 'printf' [-Wbuiltin-declaration-mismatch]
main.c:1:117: note: include '<stdio.h>' or provide a declaration of 'printf'
main.c:1:135: error: 'n' undeclared (first use in this function)
    1 | m;f(r,n,i,t){if(n==1)return r>i&r<10;for(;i++<9&i<r;)t+=f(r-i,n-1,i,0);return t;}main(s){for(;scanf("%d%d",&m,&s),m;printf("%d\n",f(m,n,-1,0)));return 0;}
      |                                                                                                                                       ^
main.c:1:135: note: each undeclared identifier is reported only once for each function it appears in