Language: C

t[],j;f(n,m,i){if(n)for(m>n?m=n:0;m;m--)f(n-m,t[i]=m,i+1);elsefor(j=3;j<i;)printf(j-i?"%d ":"%d\n",t[j++]);}main(n){for(;scanf("%d",&n)*n;)f(n,n,3);}

Compiler output:
main.c:1:1: warning: data definition has no type or storage class
    1 | t[],j;f(n,m,i){if(n)for(m>n?m=n:0;m;m--)f(n-m,t[i]=m,i+1);elsefor(j=3;j<i;)printf(j-i?"%d ":"%d\n",t[j++]);}main(n){for(;scanf("%d",&n)*n;)f(n,n,3);}
      | ^
main.c:1:1: error: type defaults to 'int' in declaration of 't' [-Wimplicit-int]
main.c:1:5: error: type defaults to 'int' in declaration of 'j' [-Wimplicit-int]
    1 | t[],j;f(n,m,i){if(n)for(m>n?m=n:0;m;m--)f(n-m,t[i]=m,i+1);elsefor(j=3;j<i;)printf(j-i?"%d ":"%d\n",t[j++]);}main(n){for(;scanf("%d",&n)*n;)f(n,n,3);}
      |     ^
main.c:1:7: error: return type defaults to 'int' [-Wimplicit-int]
    1 | t[],j;f(n,m,i){if(n)for(m>n?m=n:0;m;m--)f(n-m,t[i]=m,i+1);elsefor(j=3;j<i;)printf(j-i?"%d ":"%d\n",t[j++]);}main(n){for(;scanf("%d",&n)*n;)f(n,n,3);}
      |       ^
main.c: In function 'f':
main.c:1:7: error: type of 'n' defaults to 'int' [-Wimplicit-int]
main.c:1:7: error: type of 'm' defaults to 'int' [-Wimplicit-int]
main.c:1:7: error: type of 'i' defaults to 'int' [-Wimplicit-int]
main.c:1:59: error: implicit declaration of function 'elsefor' [-Wimplicit-function-declaration]
    1 | t[],j;f(n,m,i){if(n)for(m>n?m=n:0;m;m--)f(n-m,t[i]=m,i+1);elsefor(j=3;j<i;)printf(j-i?"%d ":"%d\n",t[j++]);}main(n){for(;scanf("%d",&n)*n;)f(n,n,3);}
      |                                                           ^~~~~~~
main.c:1:70: error: expected ')' before ';' token
    1 | t[],j;f(n,m,i){if(n)for(m>n?m=n:0;m;m--)f(n-m,t[i]=m,i+1);elsefor(j=3;j<i;)printf(j-i?"%d ":"%d\n",t[j++]);}main(n){for(;scanf("%d",&n)*n;)f(n,n,3);}
      |                                                                  ~   ^
      |                                                                      )
main.c:1:76: error: expected ';' before 'printf'
    1 | t[],j;f(n,m,i){if(n)for(m>n?m=n:0;m;m--)f(n-m,t[i]=m,i+1);elsefor(j=3;j<i;)printf(j-i?"%d ":"%d\n",t[j++]);}main(n){for(;scanf("%d",&n)*n;)f(n,n,3);}
      |                                                                            ^~~~~~
      |                                                                            ;
main.c: At top level:
main.c:1:109: error: return type defaults to 'int' [-Wimplicit-int]
    1 | t[],j;f(n,m,i){if(n)for(m>n?m=n:0;m;m--)f(n-m,t[i]=m,i+1);elsefor(j=3;j<i;)printf(j-i?"%d ":"%d\n",t[j++]);}main(n){for(;scanf("%d",&n)*n;)f(n,n,3);}
      |                                                                                                             ^~~~
main.c: In function 'main':
main.c:1:109: error: type of 'n' defaults to 'int' [-Wimplicit-int]
main.c:1:122: error: implicit declaration of function 'scanf' [-Wimplicit-function-declaration]
    1 | t[],j;f(n,m,i){if(n)for(m>n?m=n:0;m;m--)f(n-m,t[i]=m,i+1);elsefor(j=3;j<i;)printf(j-i?"%d ":"%d\n",t[j++]);}main(n){for(;scanf("%d",&n)*n;)f(n,n,3);}
      |                                                                                                                          ^~~~~
main.c:1:1: note: include '<stdio.h>' or provide a declaration of 'scanf'
  +++ |+#include <stdio.h>
    1 | t[],j;f(n,m,i){if(n)for(m>n?m=n:0;m;m--)f(n-m,t[i]=m,i+1);elsefor(j=3;j<i;)printf(j-i?"%d ":"%d\n",t[j++]);}main(n){for(;scanf("%d",&n)*n;)f(n,n,3);}
main.c:1:122: warning: incompatible implicit declaration of built-in function 'scanf' [-Wbuiltin-declaration-mismatch]
    1 | t[],j;f(n,m,i){if(n)for(m>n?m=n:0;m;m--)f(n-m,t[i]=m,i+1);elsefor(j=3;j<i;)printf(j-i?"%d ":"%d\n",t[j++]);}main(n){for(;scanf("%d",&n)*n;)f(n,n,3);}
      |                                                                                                                          ^~~~~
main.c:1:122: note: include '<stdio.h>' or provide a declaration of 'scanf'
main.c: At top level:
main.c:1:1: warning: array 't' assumed to have one element
    1 | t[],j;f(n,m,i){if(n)for(m>n?m=n:0;m;m--)f(n-m,t[i]=m,i+1);elsefor(j=3;j<i;)printf(j-i?"%d ":"%d\n",t[j++]);}main(n){for(;scanf("%d",&n)*n;)f(n,n,3);}
      | ^