Language: C

#define s(p)!strstr(a,"th"#p)&&
char*c;main(i,a){for(;gets(a);!puts(a))for(;s(is)s(at)s(e)1;)for(c=a;*c;c++)*c=*c<97?*c:(*c+8)%26+97;}

Compiler output:
main.c:2:8: error: return type defaults to 'int' [-Wimplicit-int]
    2 | char*c;main(i,a){for(;gets(a);!puts(a))for(;s(is)s(at)s(e)1;)for(c=a;*c;c++)*c=*c<97?*c:(*c+8)%26+97;}
      |        ^~~~
main.c: In function 'main':
main.c:2:8: error: type of 'i' defaults to 'int' [-Wimplicit-int]
main.c:2:8: error: type of 'a' defaults to 'int' [-Wimplicit-int]
main.c:2:23: error: implicit declaration of function 'gets' [-Wimplicit-function-declaration]
    2 | char*c;main(i,a){for(;gets(a);!puts(a))for(;s(is)s(at)s(e)1;)for(c=a;*c;c++)*c=*c<97?*c:(*c+8)%26+97;}
      |                       ^~~~
main.c:2:32: error: implicit declaration of function 'puts' [-Wimplicit-function-declaration]
    2 | char*c;main(i,a){for(;gets(a);!puts(a))for(;s(is)s(at)s(e)1;)for(c=a;*c;c++)*c=*c<97?*c:(*c+8)%26+97;}
      |                                ^~~~
main.c:1:1: note: include '<stdio.h>' or provide a declaration of 'puts'
  +++ |+#include <stdio.h>
    1 | #define s(p)!strstr(a,"th"#p)&&
main.c:2:37: error: passing argument 1 of 'puts' makes pointer from integer without a cast [-Wint-conversion]
    2 | char*c;main(i,a){for(;gets(a);!puts(a))for(;s(is)s(at)s(e)1;)for(c=a;*c;c++)*c=*c<97?*c:(*c+8)%26+97;}
      |                                     ^
      |                                     |
      |                                     int
main.c:2:37: note: expected 'const char *' but argument is of type 'int'
main.c:1:14: error: implicit declaration of function 'strstr' [-Wimplicit-function-declaration]
    1 | #define s(p)!strstr(a,"th"#p)&&
      |              ^~~~~~
main.c:2:45: note: in expansion of macro 's'
    2 | char*c;main(i,a){for(;gets(a);!puts(a))for(;s(is)s(at)s(e)1;)for(c=a;*c;c++)*c=*c<97?*c:(*c+8)%26+97;}
      |                                             ^
main.c:1:1: note: include '<string.h>' or provide a declaration of 'strstr'
  +++ |+#include <string.h>
    1 | #define s(p)!strstr(a,"th"#p)&&
main.c:1:14: warning: incompatible implicit declaration of built-in function 'strstr' [-Wbuiltin-declaration-mismatch]
    1 | #define s(p)!strstr(a,"th"#p)&&
      |              ^~~~~~
main.c:2:45: note: in expansion of macro 's'
    2 | char*c;main(i,a){for(;gets(a);!puts(a))for(;s(is)s(at)s(e)1;)for(c=a;*c;c++)*c=*c<97?*c:(*c+8)%26+97;}
      |                                             ^
main.c:1:14: note: include '<string.h>' or provide a declaration of 'strstr'
    1 | #define s(p)!strstr(a,"th"#p)&&
      |              ^~~~~~
main.c:2:45: note: in expansion of macro 's'
    2 | char*c;main(i,a){for(;gets(a);!puts(a))for(;s(is)s(at)s(e)1;)for(c=a;*c;c++)*c=*c<97?*c:(*c+8)%26+97;}
      |                                             ^
main.c:1:21: error: passing argument 1 of 'strstr' makes pointer from integer without a cast [-Wint-conversion]
    1 | #define s(p)!strstr(a,"th"#p)&&
      |                     ^
      |                     |
      |                     int
main.c:2:45: note: in expansion of macro 's'
    2 | char*c;main(i,a){for(;gets(a);!puts(a))for(;s(is)s(at)s(e)1;)for(c=a;*c;c++)*c=*c<97?*c:(*c+8)%26+97;}
      |                                             ^
main.c:1:21: note: expected 'const char *' but argument is of type 'int'
    1 | #define s(p)!strstr(a,"th"#p)&&
      |                     ^
main.c:2:45: note: in expansion of macro 's'
    2 | char*c;main(i,a){for(;gets(a);!puts(a))for(;s(is)s(at)s(e)1;)for(c=a;*c;c++)*c=*c<97?*c:(*c+8)%26+97;}
      |                                             ^
main.c:1:21: error: passing argument 1 of 'strstr' makes pointer from integer without a cast [-Wint-conversion]
    1 | #define s(p)!strstr(a,"th"#p)&&
      |                     ^
      |                     |
      |                     int
main.c:2:50: note: in expansion of macro 's'
    2 | char*c;main(i,a){for(;gets(a);!puts(a))for(;s(is)s(at)s(e)1;)for(c=a;*c;c++)*c=*c<97?*c:(*c+8)%26+97;}
      |                                                  ^
main.c:1:21: note: expected 'const char *' but argument is of type 'int'
    1 | #define s(p)!strstr(a,"th"#p)&&
      |                     ^
main.c:2:50: note: in expansion of macro 's'
    2 | char*c;main(i,a){for(;gets(a);!puts(a))for(;s(is)s(at)s(e)1;)for(c=a;*c;c++)*c=*c<97?*c:(*c+8)%26+97;}
      |                                                  ^
main.c:1:21: error: passing argument 1 of 'strstr' makes pointer from integer without a cast [-Wint-conversion]
    1 | #define s(p)!strstr(a,"th"#p)&&
      |                     ^
      |                     |
      |                     int
main.c:2:55: note: in expansion of macro 's'
    2 | char*c;main(i,a){for(;gets(a);!puts(a))for(;s(is)s(at)s(e)1;)for(c=a;*c;c++)*c=*c<97?*c:(*c+8)%26+97;}
      |                                                       ^
main.c:1:21: note: expected 'const char *' but argument is of type 'int'
    1 | #define s(p)!strstr(a,"th"#p)&&
      |                     ^
main.c:2:55: note: in expansion of macro 's'
    2 | char*c;main(i,a){for(;gets(a);!puts(a))for(;s(is)s(at)s(e)1;)for(c=a;*c;c++)*c=*c<97?*c:(*c+8)%26+97;}
      |                                                       ^
main.c:2:67: error: assignment to 'char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
    2 | char*c;main(i,a){for(;gets(a);!puts(a))for(;s(is)s(at)s(e)1;)for(c=a;*c;c++)*c=*c<97?*c:(*c+8)%26+97;}
      |                                                                   ^