criyle/codenet-compile-errors huggingface dataset:
Language: C

#include <stdio.h>

main(){
  int i,j=0;
  char b[21],a[21];
  scanf("%s",b);
  j=strlen(b);
   for(i=0;i<j;i++){
     a[i]=b[j-i-1];
}
   a[j]='\0';
   printf("%s\n",a);
return 0; 
}
#include <stdio.h>
#include <string.h>

main(){
  int i,j=0;
  char b[21],a[21];
  scanf("%s",b);
  j=strlen(b);
   for(i=0;i<j;i++){
     a[i]=b[j-i-1];
}
   a[j]='\0';
   printf("%s\n",a);
return 0; 
}

Compiler output:
main.c:3:1: error: return type defaults to 'int' [-Wimplicit-int]
    3 | main(){
      | ^~~~
main.c: In function 'main':
main.c:7:5: error: implicit declaration of function 'strlen' [-Wimplicit-function-declaration]
    7 |   j=strlen(b);
      |     ^~~~~~
main.c:2:1: note: include '<string.h>' or provide a declaration of 'strlen'
    1 | #include <stdio.h>
  +++ |+#include <string.h>
    2 | 
main.c:7:5: warning: incompatible implicit declaration of built-in function 'strlen' [-Wbuiltin-declaration-mismatch]
    7 |   j=strlen(b);
      |     ^~~~~~
main.c:7:5: note: include '<string.h>' or provide a declaration of 'strlen'
main.c: At top level:
main.c:18:1: error: return type defaults to 'int' [-Wimplicit-int]
   18 | main(){
      | ^~~~
main.c:18:1: error: redefinition of 'main'
main.c:3:1: note: previous definition of 'main' with type 'int()'
    3 | main(){
      | ^~~~
Language: C

#include <stdio.h>

int main(){
	char str[21];
	int i,k;
	for(i=0;i<=20;i++){
		str[i]='\0';
	}

	gets(str);
	for(i=20;i>=0;i--){
		if(str[i]!='\0'){
			for(k=i;k>=0;k--){
				printf("%c",str[k]);
			}
			printf("\n");
			break;
		}
	}
	return 0;
}

Compiler output:
main.c: In function 'main':
main.c:10:9: error: implicit declaration of function 'gets'; did you mean 'fgets'? [-Wimplicit-function-declaration]
   10 |         gets(str);
      |         ^~~~
      |         fgets
Language: C

#include <stdio.h>
#include <string.h>
int main(void) {
char buf[256], len[5];
fgets(buf, 256, stdin);
strtok(buf, "\n");
printf("%d ", strlen(buf));
strrev(buf);
printf("%s ", buf);
sprintf(len, "%d", strlen(buf));
strrev(len);
printf("%s ", len);
return 0;
}

Compiler output:
main.c: In function 'main':
main.c:8:1: error: implicit declaration of function 'strrev'; did you mean 'strsep'? [-Wimplicit-function-declaration]
    8 | strrev(buf);
      | ^~~~~~
      | strsep
Language: C

#include<stdio.h>
#include<string.h>
	int main(){
		char a[20],b[20],i,l;
		gets(a);
		l=strlen(a);
		for(i=l;i>=0;i--)
			b[l-i-1]=a[i];
		printf("%s",b);
		return 0;
}

Compiler output:
main.c: In function 'main':
main.c:5:17: error: implicit declaration of function 'gets'; did you mean 'fgets'? [-Wimplicit-function-declaration]
    5 |                 gets(a);
      |                 ^~~~
      |                 fgets
Language: C

#include<stdio,h>
#include<string.h>
int main(){
char a[20];
int l,i;
scanf("%s",a);
l=strlen(a);
for(i=l-1;i>=0;i--)
printf("%c",a[i]);
return 0;
}

Compiler output:
main.c:1:9: fatal error: stdio,h: No such file or directory
    1 | #include<stdio,h>
      |         ^~~~~~~~~
compilation terminated.
Language: C

#include <stdio.h>

int main (void)
{
	char str[21], new_str[21];
	gets(str);
	
	int i;
	for(i=0; i<21; i++){
		new_str[i]='\0';
	}
	
	for(i=0; i<20; i++){
		if(str[i]=='\0' || str[i]=='\n'){break;}
		new_str[20-i]=str[i];
	}
	
	for(i=0; i<21; i++){
		if(new_str[i]!='\0'){printf("%c", new_str[i]);}
	}
	
	printf("\n");
	return 0;
}

Compiler output:
main.c: In function 'main':
main.c:6:9: error: implicit declaration of function 'gets'; did you mean 'fgets'? [-Wimplicit-function-declaration]
    6 |         gets(str);
      |         ^~~~
      |         fgets
Language: C

#include<stdio.h>
int main()
{
	char s[99], *p;
	gets(s);
	for (p = s; *p; p ++);
	for (p--; p >= s; p --) putchar(*p);
	putchar('\n');
	return 0;
}

Compiler output:
main.c: In function 'main':
main.c:5:9: error: implicit declaration of function 'gets'; did you mean 'fgets'? [-Wimplicit-function-declaration]
    5 |         gets(s);
      |         ^~~~
      |         fgets
Language: C

#ifdef _0006_
n;main(i){n=i^10?main(getchar())&putchar(i-1?i:10):0;}
#endif
main(){
  char s[21];
  int i;
  gets(s);
  i = strlen(s);
  while (i--) {
    putchar(s[i]);
  }
  puts("");
  return 0;
}

Compiler output:
main.c:4:1: error: return type defaults to 'int' [-Wimplicit-int]
    4 | main(){
      | ^~~~
main.c: In function 'main':
main.c:7:3: error: implicit declaration of function 'gets' [-Wimplicit-function-declaration]
    7 |   gets(s);
      |   ^~~~
main.c:8:7: error: implicit declaration of function 'strlen' [-Wimplicit-function-declaration]
    8 |   i = strlen(s);
      |       ^~~~~~
main.c:1:1: note: include '<string.h>' or provide a declaration of 'strlen'
  +++ |+#include <string.h>
    1 | #ifdef _0006_
main.c:8:7: warning: incompatible implicit declaration of built-in function 'strlen' [-Wbuiltin-declaration-mismatch]
    8 |   i = strlen(s);
      |       ^~~~~~
main.c:8:7: note: include '<string.h>' or provide a declaration of 'strlen'
main.c:10:5: error: implicit declaration of function 'putchar' [-Wimplicit-function-declaration]
   10 |     putchar(s[i]);
      |     ^~~~~~~
main.c:1:1: note: include '<stdio.h>' or provide a declaration of 'putchar'
  +++ |+#include <stdio.h>
    1 | #ifdef _0006_
main.c:12:3: error: implicit declaration of function 'puts' [-Wimplicit-function-declaration]
   12 |   puts("");
      |   ^~~~
main.c:12:3: note: include '<stdio.h>' or provide a declaration of 'puts'
Language: C

main(i){i-10&&main(getchar())&putchar(i?>10);}

Compiler output:
main.c:1:1: error: return type defaults to 'int' [-Wimplicit-int]
    1 | main(i){i-10&&main(getchar())&putchar(i?>10);}
      | ^~~~
main.c: In function 'main':
main.c:1:1: error: type of 'i' defaults to 'int' [-Wimplicit-int]
main.c:1:20: error: implicit declaration of function 'getchar' [-Wimplicit-function-declaration]
    1 | main(i){i-10&&main(getchar())&putchar(i?>10);}
      |                    ^~~~~~~
main.c:1:1: note: 'getchar' is defined in header '<stdio.h>'; this is probably fixable by adding '#include <stdio.h>'
  +++ |+#include <stdio.h>
    1 | main(i){i-10&&main(getchar())&putchar(i?>10);}
main.c:1:31: error: implicit declaration of function 'putchar' [-Wimplicit-function-declaration]
    1 | main(i){i-10&&main(getchar())&putchar(i?>10);}
      |                               ^~~~~~~
main.c:1:31: note: include '<stdio.h>' or provide a declaration of 'putchar'
main.c:1:41: error: expected expression before '>' token
    1 | main(i){i-10&&main(getchar())&putchar(i?>10);}
      |                                         ^
Language: C

a[21];main(){scanf("%s",a);puts(strrev(a));}

Compiler output:
main.c:1:1: warning: data definition has no type or storage class
    1 | a[21];main(){scanf("%s",a);puts(strrev(a));}
      | ^
main.c:1:1: error: type defaults to 'int' in declaration of 'a' [-Wimplicit-int]
main.c:1:7: error: return type defaults to 'int' [-Wimplicit-int]
    1 | a[21];main(){scanf("%s",a);puts(strrev(a));}
      |       ^~~~
main.c: In function 'main':
main.c:1:14: error: implicit declaration of function 'scanf' [-Wimplicit-function-declaration]
    1 | a[21];main(){scanf("%s",a);puts(strrev(a));}
      |              ^~~~~
main.c:1:1: note: include '<stdio.h>' or provide a declaration of 'scanf'
  +++ |+#include <stdio.h>
    1 | a[21];main(){scanf("%s",a);puts(strrev(a));}
main.c:1:14: warning: incompatible implicit declaration of built-in function 'scanf' [-Wbuiltin-declaration-mismatch]
    1 | a[21];main(){scanf("%s",a);puts(strrev(a));}
      |              ^~~~~
main.c:1:14: note: include '<stdio.h>' or provide a declaration of 'scanf'
main.c:1:28: error: implicit declaration of function 'puts' [-Wimplicit-function-declaration]
    1 | a[21];main(){scanf("%s",a);puts(strrev(a));}
      |                            ^~~~
main.c:1:28: note: include '<stdio.h>' or provide a declaration of 'puts'
main.c:1:33: error: implicit declaration of function 'strrev' [-Wimplicit-function-declaration]
    1 | a[21];main(){scanf("%s",a);puts(strrev(a));}
      |                                 ^~~~~~
main.c:1:33: error: passing argument 1 of 'puts' makes pointer from integer without a cast [-Wint-conversion]
    1 | a[21];main(){scanf("%s",a);puts(strrev(a));}
      |                                 ^~~~~~~~~
      |                                 |
      |                                 int
main.c:1:33: note: expected 'const char *' but argument is of type 'int'
Language: C

main(i){char s[200];gets(s);puts(s);}

Compiler output:
main.c:1:1: error: return type defaults to 'int' [-Wimplicit-int]
    1 | main(i){char s[200];gets(s);puts(s);}
      | ^~~~
main.c: In function 'main':
main.c:1:1: error: type of 'i' defaults to 'int' [-Wimplicit-int]
main.c:1:21: error: implicit declaration of function 'gets' [-Wimplicit-function-declaration]
    1 | main(i){char s[200];gets(s);puts(s);}
      |                     ^~~~
main.c:1:29: error: implicit declaration of function 'puts' [-Wimplicit-function-declaration]
    1 | main(i){char s[200];gets(s);puts(s);}
      |                             ^~~~
main.c:1:1: note: include '<stdio.h>' or provide a declaration of 'puts'
  +++ |+#include <stdio.h>
    1 | main(i){char s[200];gets(s);puts(s);}
Language: C

main(){char*s;scanf("%as",&s);puts(strrev(s));}

Compiler output:
main.c:1:1: error: return type defaults to 'int' [-Wimplicit-int]
    1 | main(){char*s;scanf("%as",&s);puts(strrev(s));}
      | ^~~~
main.c: In function 'main':
main.c:1:15: error: implicit declaration of function 'scanf' [-Wimplicit-function-declaration]
    1 | main(){char*s;scanf("%as",&s);puts(strrev(s));}
      |               ^~~~~
main.c:1:1: note: include '<stdio.h>' or provide a declaration of 'scanf'
  +++ |+#include <stdio.h>
    1 | main(){char*s;scanf("%as",&s);puts(strrev(s));}
main.c:1:15: warning: incompatible implicit declaration of built-in function 'scanf' [-Wbuiltin-declaration-mismatch]
    1 | main(){char*s;scanf("%as",&s);puts(strrev(s));}
      |               ^~~~~
main.c:1:15: note: include '<stdio.h>' or provide a declaration of 'scanf'
main.c:1:31: error: implicit declaration of function 'puts' [-Wimplicit-function-declaration]
    1 | main(){char*s;scanf("%as",&s);puts(strrev(s));}
      |                               ^~~~
main.c:1:31: note: include '<stdio.h>' or provide a declaration of 'puts'
main.c:1:36: error: implicit declaration of function 'strrev' [-Wimplicit-function-declaration]
    1 | main(){char*s;scanf("%as",&s);puts(strrev(s));}
      |                                    ^~~~~~
main.c:1:36: error: passing argument 1 of 'puts' makes pointer from integer without a cast [-Wint-conversion]
    1 | main(){char*s;scanf("%as",&s);puts(strrev(s));}
      |                                    ^~~~~~~~~
      |                                    |
      |                                    int
main.c:1:36: note: expected 'const char *' but argument is of type 'int'
Language: C

#include<string.h>
main(){
  printf("%p\n", strrev);
}

Compiler output:
main.c:2:1: error: return type defaults to 'int' [-Wimplicit-int]
    2 | main(){
      | ^~~~
main.c: In function 'main':
main.c:3:3: error: implicit declaration of function 'printf' [-Wimplicit-function-declaration]
    3 |   printf("%p\n", strrev);
      |   ^~~~~~
main.c:2:1: note: include '<stdio.h>' or provide a declaration of 'printf'
    1 | #include<string.h>
  +++ |+#include <stdio.h>
    2 | main(){
main.c:3:3: warning: incompatible implicit declaration of built-in function 'printf' [-Wbuiltin-declaration-mismatch]
    3 |   printf("%p\n", strrev);
      |   ^~~~~~
main.c:3:3: note: include '<stdio.h>' or provide a declaration of 'printf'
main.c:3:18: error: 'strrev' undeclared (first use in this function); did you mean 'strsep'?
    3 |   printf("%p\n", strrev);
      |                  ^~~~~~
      |                  strsep
main.c:3:18: note: each undeclared identifier is reported only once for each function it appears in
Language: C

#include <stdio.h>
char s[100];main(){puts((*gets)(s));}

Compiler output:
main.c:2:13: error: return type defaults to 'int' [-Wimplicit-int]
    2 | char s[100];main(){puts((*gets)(s));}
      |             ^~~~
main.c: In function 'main':
main.c:2:27: error: 'gets' undeclared (first use in this function); did you mean 'fgets'?
    2 | char s[100];main(){puts((*gets)(s));}
      |                           ^~~~
      |                           fgets
main.c:2:27: note: each undeclared identifier is reported only once for each function it appears in
Language: C

i=20;main(){char s[];scanf("%s",s);
for(i=20;i;)putchar(s[--i]);
puts("");}

Compiler output:
main.c:1:1: warning: data definition has no type or storage class
    1 | i=20;main(){char s[];scanf("%s",s);
      | ^
main.c:1:1: error: type defaults to 'int' in declaration of 'i' [-Wimplicit-int]
main.c:1:6: error: return type defaults to 'int' [-Wimplicit-int]
    1 | i=20;main(){char s[];scanf("%s",s);
      |      ^~~~
main.c: In function 'main':
main.c:1:18: error: array size missing in 's'
    1 | i=20;main(){char s[];scanf("%s",s);
      |                  ^
main.c:1:22: error: implicit declaration of function 'scanf' [-Wimplicit-function-declaration]
    1 | i=20;main(){char s[];scanf("%s",s);
      |                      ^~~~~
main.c:1:1: note: include '<stdio.h>' or provide a declaration of 'scanf'
  +++ |+#include <stdio.h>
    1 | i=20;main(){char s[];scanf("%s",s);
main.c:1:22: warning: incompatible implicit declaration of built-in function 'scanf' [-Wbuiltin-declaration-mismatch]
    1 | i=20;main(){char s[];scanf("%s",s);
      |                      ^~~~~
main.c:1:22: note: include '<stdio.h>' or provide a declaration of 'scanf'
main.c:2:13: error: implicit declaration of function 'putchar' [-Wimplicit-function-declaration]
    2 | for(i=20;i;)putchar(s[--i]);
      |             ^~~~~~~
main.c:2:13: note: include '<stdio.h>' or provide a declaration of 'putchar'
main.c:3:1: error: implicit declaration of function 'puts' [-Wimplicit-function-declaration]
    3 | puts("");}
      | ^~~~
main.c:3:1: note: include '<stdio.h>' or provide a declaration of 'puts'
Language: C

i=20;main(){char s[];scanf("%s",s);
for(;i;)putchar(s[--i]);
puts("");}

Compiler output:
main.c:1:1: warning: data definition has no type or storage class
    1 | i=20;main(){char s[];scanf("%s",s);
      | ^
main.c:1:1: error: type defaults to 'int' in declaration of 'i' [-Wimplicit-int]
main.c:1:6: error: return type defaults to 'int' [-Wimplicit-int]
    1 | i=20;main(){char s[];scanf("%s",s);
      |      ^~~~
main.c: In function 'main':
main.c:1:18: error: array size missing in 's'
    1 | i=20;main(){char s[];scanf("%s",s);
      |                  ^
main.c:1:22: error: implicit declaration of function 'scanf' [-Wimplicit-function-declaration]
    1 | i=20;main(){char s[];scanf("%s",s);
      |                      ^~~~~
main.c:1:1: note: include '<stdio.h>' or provide a declaration of 'scanf'
  +++ |+#include <stdio.h>
    1 | i=20;main(){char s[];scanf("%s",s);
main.c:1:22: warning: incompatible implicit declaration of built-in function 'scanf' [-Wbuiltin-declaration-mismatch]
    1 | i=20;main(){char s[];scanf("%s",s);
      |                      ^~~~~
main.c:1:22: note: include '<stdio.h>' or provide a declaration of 'scanf'
main.c:2:9: error: implicit declaration of function 'putchar' [-Wimplicit-function-declaration]
    2 | for(;i;)putchar(s[--i]);
      |         ^~~~~~~
main.c:2:9: note: include '<stdio.h>' or provide a declaration of 'putchar'
main.c:3:1: error: implicit declaration of function 'puts' [-Wimplicit-function-declaration]
    3 | puts("");}
      | ^~~~
main.c:3:1: note: include '<stdio.h>' or provide a declaration of 'puts'
Language: C

i=20;char s[20];main(){scanf("%s",s);
for(;i;)putchar(s[--i]);
i=!putschar(10);}

Compiler output:
main.c:1:1: warning: data definition has no type or storage class
    1 | i=20;char s[20];main(){scanf("%s",s);
      | ^
main.c:1:1: error: type defaults to 'int' in declaration of 'i' [-Wimplicit-int]
main.c:1:17: error: return type defaults to 'int' [-Wimplicit-int]
    1 | i=20;char s[20];main(){scanf("%s",s);
      |                 ^~~~
main.c: In function 'main':
main.c:1:24: error: implicit declaration of function 'scanf' [-Wimplicit-function-declaration]
    1 | i=20;char s[20];main(){scanf("%s",s);
      |                        ^~~~~
main.c:1:1: note: include '<stdio.h>' or provide a declaration of 'scanf'
  +++ |+#include <stdio.h>
    1 | i=20;char s[20];main(){scanf("%s",s);
main.c:1:24: warning: incompatible implicit declaration of built-in function 'scanf' [-Wbuiltin-declaration-mismatch]
    1 | i=20;char s[20];main(){scanf("%s",s);
      |                        ^~~~~
main.c:1:24: note: include '<stdio.h>' or provide a declaration of 'scanf'
main.c:2:9: error: implicit declaration of function 'putchar' [-Wimplicit-function-declaration]
    2 | for(;i;)putchar(s[--i]);
      |         ^~~~~~~
main.c:2:9: note: include '<stdio.h>' or provide a declaration of 'putchar'
main.c:3:4: error: implicit declaration of function 'putschar' [-Wimplicit-function-declaration]
    3 | i=!putschar(10);}
      |    ^~~~~~~~
Language: C

char b[99],*p;main(){gets(b);for(p=index(b,0);p-b;putchar(*--p));}

Compiler output:
main.c:1:15: error: return type defaults to 'int' [-Wimplicit-int]
    1 | char b[99],*p;main(){gets(b);for(p=index(b,0);p-b;putchar(*--p));}
      |               ^~~~
main.c: In function 'main':
main.c:1:22: error: implicit declaration of function 'gets' [-Wimplicit-function-declaration]
    1 | char b[99],*p;main(){gets(b);for(p=index(b,0);p-b;putchar(*--p));}
      |                      ^~~~
main.c:1:36: error: implicit declaration of function 'index' [-Wimplicit-function-declaration]
    1 | char b[99],*p;main(){gets(b);for(p=index(b,0);p-b;putchar(*--p));}
      |                                    ^~~~~
main.c:1:36: warning: incompatible implicit declaration of built-in function 'index' [-Wbuiltin-declaration-mismatch]
main.c:1:51: error: implicit declaration of function 'putchar' [-Wimplicit-function-declaration]
    1 | char b[99],*p;main(){gets(b);for(p=index(b,0);p-b;putchar(*--p));}
      |                                                   ^~~~~~~
main.c:1:1: note: include '<stdio.h>' or provide a declaration of 'putchar'
  +++ |+#include <stdio.h>
    1 | char b[99],*p;main(){gets(b);for(p=index(b,0);p-b;putchar(*--p));}
Language: C

char b[99],*p;main(){fgets(b,99,stdin);for(p=index(b,0);p-b;putchar(*--p));}

Compiler output:
main.c:1:15: error: return type defaults to 'int' [-Wimplicit-int]
    1 | char b[99],*p;main(){fgets(b,99,stdin);for(p=index(b,0);p-b;putchar(*--p));}
      |               ^~~~
main.c: In function 'main':
main.c:1:22: error: implicit declaration of function 'fgets' [-Wimplicit-function-declaration]
    1 | char b[99],*p;main(){fgets(b,99,stdin);for(p=index(b,0);p-b;putchar(*--p));}
      |                      ^~~~~
main.c:1:33: error: 'stdin' undeclared (first use in this function)
    1 | char b[99],*p;main(){fgets(b,99,stdin);for(p=index(b,0);p-b;putchar(*--p));}
      |                                 ^~~~~
main.c:1:1: note: 'stdin' is defined in header '<stdio.h>'; this is probably fixable by adding '#include <stdio.h>'
  +++ |+#include <stdio.h>
    1 | char b[99],*p;main(){fgets(b,99,stdin);for(p=index(b,0);p-b;putchar(*--p));}
main.c:1:33: note: each undeclared identifier is reported only once for each function it appears in
    1 | char b[99],*p;main(){fgets(b,99,stdin);for(p=index(b,0);p-b;putchar(*--p));}
      |                                 ^~~~~
main.c:1:46: error: implicit declaration of function 'index' [-Wimplicit-function-declaration]
    1 | char b[99],*p;main(){fgets(b,99,stdin);for(p=index(b,0);p-b;putchar(*--p));}
      |                                              ^~~~~
main.c:1:46: warning: incompatible implicit declaration of built-in function 'index' [-Wbuiltin-declaration-mismatch]
main.c:1:61: error: implicit declaration of function 'putchar' [-Wimplicit-function-declaration]
    1 | char b[99],*p;main(){fgets(b,99,stdin);for(p=index(b,0);p-b;putchar(*--p));}
      |                                                             ^~~~~~~
main.c:1:61: note: include '<stdio.h>' or provide a declaration of 'putchar'
Language: C

main(i){i-10&&main(getchar());i-10&&i=putchar(i>1?i:10);}

Compiler output:
main.c:1:1: error: return type defaults to 'int' [-Wimplicit-int]
    1 | main(i){i-10&&main(getchar());i-10&&i=putchar(i>1?i:10);}
      | ^~~~
main.c: In function 'main':
main.c:1:1: error: type of 'i' defaults to 'int' [-Wimplicit-int]
main.c:1:20: error: implicit declaration of function 'getchar' [-Wimplicit-function-declaration]
    1 | main(i){i-10&&main(getchar());i-10&&i=putchar(i>1?i:10);}
      |                    ^~~~~~~
main.c:1:1: note: 'getchar' is defined in header '<stdio.h>'; this is probably fixable by adding '#include <stdio.h>'
  +++ |+#include <stdio.h>
    1 | main(i){i-10&&main(getchar());i-10&&i=putchar(i>1?i:10);}
main.c:1:39: error: implicit declaration of function 'putchar' [-Wimplicit-function-declaration]
    1 | main(i){i-10&&main(getchar());i-10&&i=putchar(i>1?i:10);}
      |                                       ^~~~~~~
main.c:1:39: note: include '<stdio.h>' or provide a declaration of 'putchar'
main.c:1:38: error: lvalue required as left operand of assignment
    1 | main(i){i-10&&main(getchar());i-10&&i=putchar(i>1?i:10);}
      |                                      ^
Language: C

main(i){return i-10&&!putchar(i>1?i:10,main(getch()));}

Compiler output:
main.c:1:1: error: return type defaults to 'int' [-Wimplicit-int]
    1 | main(i){return i-10&&!putchar(i>1?i:10,main(getch()));}
      | ^~~~
main.c: In function 'main':
main.c:1:1: error: type of 'i' defaults to 'int' [-Wimplicit-int]
main.c:1:23: error: implicit declaration of function 'putchar' [-Wimplicit-function-declaration]
    1 | main(i){return i-10&&!putchar(i>1?i:10,main(getch()));}
      |                       ^~~~~~~
main.c:1:1: note: include '<stdio.h>' or provide a declaration of 'putchar'
  +++ |+#include <stdio.h>
    1 | main(i){return i-10&&!putchar(i>1?i:10,main(getch()));}
main.c:1:45: error: implicit declaration of function 'getch' [-Wimplicit-function-declaration]
    1 | main(i){return i-10&&!putchar(i>1?i:10,main(getch()));}
      |                                             ^~~~~
main.c:1:23: warning: too many arguments to built-in function 'putchar' expecting 1 [-Wbuiltin-declaration-mismatch]
    1 | main(i){return i-10&&!putchar(i>1?i:10,main(getch()));}
      |                       ^~~~~~~
Language: C

main(i,*k){i-10&&main(getchar())&putchar(i-1?i:10);*k=0;}

Compiler output:
main.c:1:8: error: expected ')' before '*' token
    1 | main(i,*k){i-10&&main(getchar())&putchar(i-1?i:10);*k=0;}
      |        ^
      |        )
Language: C

k;main(i){i-10?main(getchar()),putchar(i-1?i:10):k/=i;}

Compiler output:
main.c:1:1: warning: data definition has no type or storage class
    1 | k;main(i){i-10?main(getchar()),putchar(i-1?i:10):k/=i;}
      | ^
main.c:1:1: error: type defaults to 'int' in declaration of 'k' [-Wimplicit-int]
main.c:1:3: error: return type defaults to 'int' [-Wimplicit-int]
    1 | k;main(i){i-10?main(getchar()),putchar(i-1?i:10):k/=i;}
      |   ^~~~
main.c: In function 'main':
main.c:1:3: error: type of 'i' defaults to 'int' [-Wimplicit-int]
main.c:1:21: error: implicit declaration of function 'getchar' [-Wimplicit-function-declaration]
    1 | k;main(i){i-10?main(getchar()),putchar(i-1?i:10):k/=i;}
      |                     ^~~~~~~
main.c:1:1: note: 'getchar' is defined in header '<stdio.h>'; this is probably fixable by adding '#include <stdio.h>'
  +++ |+#include <stdio.h>
    1 | k;main(i){i-10?main(getchar()),putchar(i-1?i:10):k/=i;}
main.c:1:32: error: implicit declaration of function 'putchar' [-Wimplicit-function-declaration]
    1 | k;main(i){i-10?main(getchar()),putchar(i-1?i:10):k/=i;}
      |                                ^~~~~~~
main.c:1:32: note: include '<stdio.h>' or provide a declaration of 'putchar'
main.c:1:51: error: lvalue required as left operand of assignment
    1 | k;main(i){i-10?main(getchar()),putchar(i-1?i:10):k/=i;}
      |                                                   ^~
Language: C

int k;main(i){i-10?main(getchar())&putchar(i-1?i:10):k/=i;}

Compiler output:
main.c:1:7: error: return type defaults to 'int' [-Wimplicit-int]
    1 | int k;main(i){i-10?main(getchar())&putchar(i-1?i:10):k/=i;}
      |       ^~~~
main.c: In function 'main':
main.c:1:7: error: type of 'i' defaults to 'int' [-Wimplicit-int]
main.c:1:25: error: implicit declaration of function 'getchar' [-Wimplicit-function-declaration]
    1 | int k;main(i){i-10?main(getchar())&putchar(i-1?i:10):k/=i;}
      |                         ^~~~~~~
main.c:1:1: note: 'getchar' is defined in header '<stdio.h>'; this is probably fixable by adding '#include <stdio.h>'
  +++ |+#include <stdio.h>
    1 | int k;main(i){i-10?main(getchar())&putchar(i-1?i:10):k/=i;}
main.c:1:36: error: implicit declaration of function 'putchar' [-Wimplicit-function-declaration]
    1 | int k;main(i){i-10?main(getchar())&putchar(i-1?i:10):k/=i;}
      |                                    ^~~~~~~
main.c:1:36: note: include '<stdio.h>' or provide a declaration of 'putchar'
main.c:1:55: error: lvalue required as left operand of assignment
    1 | int k;main(i){i-10?main(getchar())&putchar(i-1?i:10):k/=i;}
      |                                                       ^~
Language: C

k;main(i){i^10?main(getchar()),putchar(i-1?i:10):k/=i;}

Compiler output:
main.c:1:1: warning: data definition has no type or storage class
    1 | k;main(i){i^10?main(getchar()),putchar(i-1?i:10):k/=i;}
      | ^
main.c:1:1: error: type defaults to 'int' in declaration of 'k' [-Wimplicit-int]
main.c:1:3: error: return type defaults to 'int' [-Wimplicit-int]
    1 | k;main(i){i^10?main(getchar()),putchar(i-1?i:10):k/=i;}
      |   ^~~~
main.c: In function 'main':
main.c:1:3: error: type of 'i' defaults to 'int' [-Wimplicit-int]
main.c:1:21: error: implicit declaration of function 'getchar' [-Wimplicit-function-declaration]
    1 | k;main(i){i^10?main(getchar()),putchar(i-1?i:10):k/=i;}
      |                     ^~~~~~~
main.c:1:1: note: 'getchar' is defined in header '<stdio.h>'; this is probably fixable by adding '#include <stdio.h>'
  +++ |+#include <stdio.h>
    1 | k;main(i){i^10?main(getchar()),putchar(i-1?i:10):k/=i;}
main.c:1:32: error: implicit declaration of function 'putchar' [-Wimplicit-function-declaration]
    1 | k;main(i){i^10?main(getchar()),putchar(i-1?i:10):k/=i;}
      |                                ^~~~~~~
main.c:1:32: note: include '<stdio.h>' or provide a declaration of 'putchar'
main.c:1:51: error: lvalue required as left operand of assignment
    1 | k;main(i){i^10?main(getchar()),putchar(i-1?i:10):k/=i;}
      |                                                   ^~
Language: C

main(i,*k){*k=i-10&&main(getchar())&putchar(i-1?i:10);}

Compiler output:
main.c:1:8: error: expected ')' before '*' token
    1 | main(i,*k){*k=i-10&&main(getchar())&putchar(i-1?i:10);}
      |        ^
      |        )
Language: C

main(i){i-10&&main(getchar())&putchar(k=i-1?i:10);}

Compiler output:
main.c:1:1: error: return type defaults to 'int' [-Wimplicit-int]
    1 | main(i){i-10&&main(getchar())&putchar(k=i-1?i:10);}
      | ^~~~
main.c: In function 'main':
main.c:1:1: error: type of 'i' defaults to 'int' [-Wimplicit-int]
main.c:1:20: error: implicit declaration of function 'getchar' [-Wimplicit-function-declaration]
    1 | main(i){i-10&&main(getchar())&putchar(k=i-1?i:10);}
      |                    ^~~~~~~
main.c:1:1: note: 'getchar' is defined in header '<stdio.h>'; this is probably fixable by adding '#include <stdio.h>'
  +++ |+#include <stdio.h>
    1 | main(i){i-10&&main(getchar())&putchar(k=i-1?i:10);}
main.c:1:31: error: implicit declaration of function 'putchar' [-Wimplicit-function-declaration]
    1 | main(i){i-10&&main(getchar())&putchar(k=i-1?i:10);}
      |                               ^~~~~~~
main.c:1:31: note: include '<stdio.h>' or provide a declaration of 'putchar'
main.c:1:39: error: 'k' undeclared (first use in this function)
    1 | main(i){i-10&&main(getchar())&putchar(k=i-1?i:10);}
      |                                       ^
main.c:1:39: note: each undeclared identifier is reported only once for each function it appears in
Language: C

main(i){i-10&&main(getchar())&putchar((k=i-1)?i:10);}

Compiler output:
main.c:1:1: error: return type defaults to 'int' [-Wimplicit-int]
    1 | main(i){i-10&&main(getchar())&putchar((k=i-1)?i:10);}
      | ^~~~
main.c: In function 'main':
main.c:1:1: error: type of 'i' defaults to 'int' [-Wimplicit-int]
main.c:1:20: error: implicit declaration of function 'getchar' [-Wimplicit-function-declaration]
    1 | main(i){i-10&&main(getchar())&putchar((k=i-1)?i:10);}
      |                    ^~~~~~~
main.c:1:1: note: 'getchar' is defined in header '<stdio.h>'; this is probably fixable by adding '#include <stdio.h>'
  +++ |+#include <stdio.h>
    1 | main(i){i-10&&main(getchar())&putchar((k=i-1)?i:10);}
main.c:1:31: error: implicit declaration of function 'putchar' [-Wimplicit-function-declaration]
    1 | main(i){i-10&&main(getchar())&putchar((k=i-1)?i:10);}
      |                               ^~~~~~~
main.c:1:31: note: include '<stdio.h>' or provide a declaration of 'putchar'
main.c:1:40: error: 'k' undeclared (first use in this function)
    1 | main(i){i-10&&main(getchar())&putchar((k=i-1)?i:10);}
      |                                        ^
main.c:1:40: note: each undeclared identifier is reported only once for each function it appears in
Language: C

main(i){i-10&&main(getchar())&putchar(i-1?i:10);i--}

Compiler output:
main.c:1:1: error: return type defaults to 'int' [-Wimplicit-int]
    1 | main(i){i-10&&main(getchar())&putchar(i-1?i:10);i--}
      | ^~~~
main.c: In function 'main':
main.c:1:1: error: type of 'i' defaults to 'int' [-Wimplicit-int]
main.c:1:20: error: implicit declaration of function 'getchar' [-Wimplicit-function-declaration]
    1 | main(i){i-10&&main(getchar())&putchar(i-1?i:10);i--}
      |                    ^~~~~~~
main.c:1:1: note: 'getchar' is defined in header '<stdio.h>'; this is probably fixable by adding '#include <stdio.h>'
  +++ |+#include <stdio.h>
    1 | main(i){i-10&&main(getchar())&putchar(i-1?i:10);i--}
main.c:1:31: error: implicit declaration of function 'putchar' [-Wimplicit-function-declaration]
    1 | main(i){i-10&&main(getchar())&putchar(i-1?i:10);i--}
      |                               ^~~~~~~
main.c:1:31: note: include '<stdio.h>' or provide a declaration of 'putchar'
main.c:1:52: error: expected ';' before '}' token
    1 | main(i){i-10&&main(getchar())&putchar(i-1?i:10);i--}
      |                                                    ^
      |                                                    ;
Language: C

main(i){i-10&&main(getchar())&putchar(i-1?i:10);exit(0)}

Compiler output:
main.c:1:1: error: return type defaults to 'int' [-Wimplicit-int]
    1 | main(i){i-10&&main(getchar())&putchar(i-1?i:10);exit(0)}
      | ^~~~
main.c: In function 'main':
main.c:1:1: error: type of 'i' defaults to 'int' [-Wimplicit-int]
main.c:1:20: error: implicit declaration of function 'getchar' [-Wimplicit-function-declaration]
    1 | main(i){i-10&&main(getchar())&putchar(i-1?i:10);exit(0)}
      |                    ^~~~~~~
main.c:1:1: note: 'getchar' is defined in header '<stdio.h>'; this is probably fixable by adding '#include <stdio.h>'
  +++ |+#include <stdio.h>
    1 | main(i){i-10&&main(getchar())&putchar(i-1?i:10);exit(0)}
main.c:1:31: error: implicit declaration of function 'putchar' [-Wimplicit-function-declaration]
    1 | main(i){i-10&&main(getchar())&putchar(i-1?i:10);exit(0)}
      |                               ^~~~~~~
main.c:1:31: note: include '<stdio.h>' or provide a declaration of 'putchar'
main.c:1:49: error: implicit declaration of function 'exit' [-Wimplicit-function-declaration]
    1 | main(i){i-10&&main(getchar())&putchar(i-1?i:10);exit(0)}
      |                                                 ^~~~
main.c:1:1: note: include '<stdlib.h>' or provide a declaration of 'exit'
  +++ |+#include <stdlib.h>
    1 | main(i){i-10&&main(getchar())&putchar(i-1?i:10);exit(0)}
main.c:1:49: warning: incompatible implicit declaration of built-in function 'exit' [-Wbuiltin-declaration-mismatch]
    1 | main(i){i-10&&main(getchar())&putchar(i-1?i:10);exit(0)}
      |                                                 ^~~~
main.c:1:49: note: include '<stdlib.h>' or provide a declaration of 'exit'
main.c:1:56: error: expected ';' before '}' token
    1 | main(i){i-10&&main(getchar())&putchar(i-1?i:10);exit(0)}
      |                                                        ^
      |                                                        ;
Language: C

main(i){i-10&&main(getchar())&putchar(i-1?i:10);i*=0}

Compiler output:
main.c:1:1: error: return type defaults to 'int' [-Wimplicit-int]
    1 | main(i){i-10&&main(getchar())&putchar(i-1?i:10);i*=0}
      | ^~~~
main.c: In function 'main':
main.c:1:1: error: type of 'i' defaults to 'int' [-Wimplicit-int]
main.c:1:20: error: implicit declaration of function 'getchar' [-Wimplicit-function-declaration]
    1 | main(i){i-10&&main(getchar())&putchar(i-1?i:10);i*=0}
      |                    ^~~~~~~
main.c:1:1: note: 'getchar' is defined in header '<stdio.h>'; this is probably fixable by adding '#include <stdio.h>'
  +++ |+#include <stdio.h>
    1 | main(i){i-10&&main(getchar())&putchar(i-1?i:10);i*=0}
main.c:1:31: error: implicit declaration of function 'putchar' [-Wimplicit-function-declaration]
    1 | main(i){i-10&&main(getchar())&putchar(i-1?i:10);i*=0}
      |                               ^~~~~~~
main.c:1:31: note: include '<stdio.h>' or provide a declaration of 'putchar'
main.c:1:53: error: expected ';' before '}' token
    1 | main(i){i-10&&main(getchar())&putchar(i-1?i:10);i*=0}
      |                                                     ^
      |                                                     ;
Language: C

#include <stdio.h>
#include<string.h>
int main(void){
  
  int i,j,n;
  i=0;
  j=0;
  char a[20],b[20];
  
  gets(a);
  n = strlen(a);

  for(i=n-1;i>=0;i--)
    {
      b[n-i-1]=a[i];
    }
  b[n]='\0';

  printf("%s\n",b);
  return 0;
}

Compiler output:
main.c: In function 'main':
main.c:10:3: error: implicit declaration of function 'gets'; did you mean 'fgets'? [-Wimplicit-function-declaration]
   10 |   gets(a);
      |   ^~~~
      |   fgets
Language: C

#include <stdio.h>
#include<string.h>
int main(void){
  
  int i,j,n;
  i=0;
  j=0;
  char a[20],b[20];
  
  gets(a);
  n = strlen(a);

  for(i=n-1;i>=0;i--)
    {
      b[n-1-i]=a[i];
    }
  b[n]='\0';

  printf("%s\n",b);
  return 0;
}

Compiler output:
main.c: In function 'main':
main.c:10:3: error: implicit declaration of function 'gets'; did you mean 'fgets'? [-Wimplicit-function-declaration]
   10 |   gets(a);
      |   ^~~~
      |   fgets
Language: C

#include<stdio.h>

int main()
{
	char str[21];
	int len=0;
	
	scanf("%s",str);
	while(*(str+len))
	{
		len++;
	}
	while(len--)
	{
		putchar(*(instr+len));
	}
	putchar('\n');
	return 0;
}

Compiler output:
main.c: In function 'main':
main.c:15:27: error: 'instr' undeclared (first use in this function); did you mean 'str'?
   15 |                 putchar(*(instr+len));
      |                           ^~~~~
      |                           str
main.c:15:27: note: each undeclared identifier is reported only once for each function it appears in
Language: C

#include <stdio.h>

int main(){
	int i;
	char in[20];
	
	for(i = 0; i < 20; i++){
		in[i] = '\0';
	}
	
	scanf("%s",ツ　in);
	
	for(i = 19; i > -1; i--){
		if(in[i] != '\0'){
			printf("%c", in[i]);
		}
	}
	
	printf("\n");
	
	return 0;
}

Compiler output:
main.c: In function 'main':
main.c:11:22: error: stray '\343' in program
   11 |         scanf("%s",<U+30C4><U+3000>in);
      |                            ^~~~~~~~
main.c:11:20: error: '\U000030c4' undeclared (first use in this function)
   11 |         scanf("%s",ツ　in);
      |                    ^~
main.c:11:20: note: each undeclared identifier is reported only once for each function it appears in
main.c:11:22: error: expected ')' before 'in'
   11 |         scanf("%s",ツ　in);
      |              ~       ^ ~~
      |                      )
Language: C

#include <stdio.h>

int main(){
	char str[21],henkan[21];		/*20¶ÈàÅAÅãÉÍ'\0'ªÜÜêéÌÅ*/
	int i=0,j=0;
	gets(str);
	while(str[i]){	/*¶ñÌ·³Í¢­ç©ÈH*/
		i++;
	}
	henkan[i]='\0';	/*¶ñÌ·³ðwè*/
	i--;			/*ÅãÌ¶ÉÚ®·é*/
	while(henkan[j]){
		henkan[j]=str[i];		/*Ï·*/
		i--;
		j++;
	}
	puts(henkan);
	
	return 0;
}

Compiler output:
main.c: In function 'main':
main.c:6:9: error: implicit declaration of function 'gets'; did you mean 'fgets'? [-Wimplicit-function-declaration]
    6 |         gets(str);
      |         ^~~~
      |         fgets
Language: C

#include<stdio.h>
#include<string.h>
#define MAX 30


int main()
{
	char str[MAX];
	scanf("%s",str);
	int num = strlen(str);
	int i;
	for(i=0;i<num;i++)
	{
		printf("%c",str[num-i-1]);
	}
	printf("\n");
	}
	return 0;
}

Compiler output:
main.c:18:9: error: expected identifier or '(' before 'return'
   18 |         return 0;
      |         ^~~~~~
main.c:19:1: error: expected identifier or '(' before '}' token
   19 | }
      | ^
Language: C

#include<stdio.h>

int main(void){
	int i;
	char str[21];
	
	gets(str);
	
	for(i=20;i>=0;--i){
		if(str[i]!='\0'){
			printf("%c",str[i]);
		}
	}
	printf("\n");
	
	return 0;
}

Compiler output:
main.c: In function 'main':
main.c:7:9: error: implicit declaration of function 'gets'; did you mean 'fgets'? [-Wimplicit-function-declaration]
    7 |         gets(str);
      |         ^~~~
      |         fgets
Language: C

#include<stdio.h>

int main(void){
	int i;
	char str[21];
	
	gets(str);
	
	for(i=20;i>=0;--i){
		if(str[i]!='\0'){
			if(str[i]!='\n'){
				printf("%c",str[i]);
			}
		}
	}
	printf("\n");
	
	return 0;
}

Compiler output:
main.c: In function 'main':
main.c:7:9: error: implicit declaration of function 'gets'; did you mean 'fgets'? [-Wimplicit-function-declaration]
    7 |         gets(str);
      |         ^~~~
      |         fgets
Language: C

#include<stdio.h>

char str[21];
int main(void){
	int i;
	
	gets(str);
	
	for(i=20;i>=0;--i){
		if(str[i]!='\0'){
			if(str[i]!='\n'){
				printf("%c",str[i]);
			}
		}
	}
	printf("\n");
	
	return 0;
}

Compiler output:
main.c: In function 'main':
main.c:7:9: error: implicit declaration of function 'gets'; did you mean 'fgets'? [-Wimplicit-function-declaration]
    7 |         gets(str);
      |         ^~~~
      |         fgets
Language: C

#include<stdio.h>

char str[25];
int main(void){
	int i;
	
	gets(str);
	
	for(i=24;i>=0;--i){
		if(str[i]!='\0'){
			if(str[i]!='\n'){
				printf("%c",str[i]);
			}
		}
	}
	printf("\n");
	
	return 0;
}

Compiler output:
main.c: In function 'main':
main.c:7:9: error: implicit declaration of function 'gets'; did you mean 'fgets'? [-Wimplicit-function-declaration]
    7 |         gets(str);
      |         ^~~~
      |         fgets
Language: C

main(a[20],i){for(i=0;~scanf("%c",&a[i]);i++);while(i--)printf("%c",a[i]);}

Compiler output:
main.c:1:6: error: unknown type name 'a'
    1 | main(a[20],i){for(i=0;~scanf("%c",&a[i]);i++);while(i--)printf("%c",a[i]);}
      |      ^
main.c:1:12: error: unknown type name 'i'
    1 | main(a[20],i){for(i=0;~scanf("%c",&a[i]);i++);while(i--)printf("%c",a[i]);}
      |            ^
Language: C

main(){char a;~scanf("%c",&a)&&(main()||printf("%c",a);)}

Compiler output:
main.c:1:1: error: return type defaults to 'int' [-Wimplicit-int]
    1 | main(){char a;~scanf("%c",&a)&&(main()||printf("%c",a);)}
      | ^~~~
main.c: In function 'main':
main.c:1:16: error: implicit declaration of function 'scanf' [-Wimplicit-function-declaration]
    1 | main(){char a;~scanf("%c",&a)&&(main()||printf("%c",a);)}
      |                ^~~~~
main.c:1:1: note: include '<stdio.h>' or provide a declaration of 'scanf'
  +++ |+#include <stdio.h>
    1 | main(){char a;~scanf("%c",&a)&&(main()||printf("%c",a);)}
main.c:1:16: warning: incompatible implicit declaration of built-in function 'scanf' [-Wbuiltin-declaration-mismatch]
    1 | main(){char a;~scanf("%c",&a)&&(main()||printf("%c",a);)}
      |                ^~~~~
main.c:1:16: note: include '<stdio.h>' or provide a declaration of 'scanf'
main.c:1:41: error: implicit declaration of function 'printf' [-Wimplicit-function-declaration]
    1 | main(){char a;~scanf("%c",&a)&&(main()||printf("%c",a);)}
      |                                         ^~~~~~
main.c:1:41: note: include '<stdio.h>' or provide a declaration of 'printf'
main.c:1:41: warning: incompatible implicit declaration of built-in function 'printf' [-Wbuiltin-declaration-mismatch]
main.c:1:41: note: include '<stdio.h>' or provide a declaration of 'printf'
main.c:1:55: error: expected ')' before ';' token
    1 | main(){char a;~scanf("%c",&a)&&(main()||printf("%c",a);)}
      |                                ~                      ^
      |                                                       )
main.c:1:57: error: expected ';' before '}' token
    1 | main(){char a;~scanf("%c",&a)&&(main()||printf("%c",a);)}
      |                                                         ^
      |                                                         ;
Language: C

main(){char a;~scanf("%c",&a)&&(main()||printf("%c",a));)}

Compiler output:
main.c:1:1: error: return type defaults to 'int' [-Wimplicit-int]
    1 | main(){char a;~scanf("%c",&a)&&(main()||printf("%c",a));)}
      | ^~~~
main.c: In function 'main':
main.c:1:16: error: implicit declaration of function 'scanf' [-Wimplicit-function-declaration]
    1 | main(){char a;~scanf("%c",&a)&&(main()||printf("%c",a));)}
      |                ^~~~~
main.c:1:1: note: include '<stdio.h>' or provide a declaration of 'scanf'
  +++ |+#include <stdio.h>
    1 | main(){char a;~scanf("%c",&a)&&(main()||printf("%c",a));)}
main.c:1:16: warning: incompatible implicit declaration of built-in function 'scanf' [-Wbuiltin-declaration-mismatch]
    1 | main(){char a;~scanf("%c",&a)&&(main()||printf("%c",a));)}
      |                ^~~~~
main.c:1:16: note: include '<stdio.h>' or provide a declaration of 'scanf'
main.c:1:41: error: implicit declaration of function 'printf' [-Wimplicit-function-declaration]
    1 | main(){char a;~scanf("%c",&a)&&(main()||printf("%c",a));)}
      |                                         ^~~~~~
main.c:1:41: note: include '<stdio.h>' or provide a declaration of 'printf'
main.c:1:41: warning: incompatible implicit declaration of built-in function 'printf' [-Wbuiltin-declaration-mismatch]
main.c:1:41: note: include '<stdio.h>' or provide a declaration of 'printf'
main.c:1:57: error: expected statement before ')' token
    1 | main(){char a;~scanf("%c",&a)&&(main()||printf("%c",a));)}
      |                                                         ^
Language: C

#include <stdio.h>
#include <string.h>
int main( void ){
	int i;
	char s[21];
	for(i=strlen(gets(s));i--;putchar(s[i]));
	return 0;
}

Compiler output:
main.c: In function 'main':
main.c:6:22: error: implicit declaration of function 'gets'; did you mean 'fgets'? [-Wimplicit-function-declaration]
    6 |         for(i=strlen(gets(s));i--;putchar(s[i]));
      |                      ^~~~
      |                      fgets
main.c:6:22: error: passing argument 1 of 'strlen' makes pointer from integer without a cast [-Wint-conversion]
    6 |         for(i=strlen(gets(s));i--;putchar(s[i]));
      |                      ^~~~~~~
      |                      |
      |                      int
In file included from main.c:2:
/usr/include/string.h:407:35: note: expected 'const char *' but argument is of type 'int'
  407 | extern size_t strlen (const char *__s)
      |                       ~~~~~~~~~~~~^~~
Language: C

main(i){
	char s[21];
	for(i=strlen(fgets(s,21,stdin));i--;putchar(s[i]));
	i=!puts("");
}

Compiler output:
main.c:1:1: error: return type defaults to 'int' [-Wimplicit-int]
    1 | main(i){
      | ^~~~
main.c: In function 'main':
main.c:1:1: error: type of 'i' defaults to 'int' [-Wimplicit-int]
main.c:3:15: error: implicit declaration of function 'strlen' [-Wimplicit-function-declaration]
    3 |         for(i=strlen(fgets(s,21,stdin));i--;putchar(s[i]));
      |               ^~~~~~
main.c:1:1: note: include '<string.h>' or provide a declaration of 'strlen'
  +++ |+#include <string.h>
    1 | main(i){
main.c:3:15: warning: incompatible implicit declaration of built-in function 'strlen' [-Wbuiltin-declaration-mismatch]
    3 |         for(i=strlen(fgets(s,21,stdin));i--;putchar(s[i]));
      |               ^~~~~~
main.c:3:15: note: include '<string.h>' or provide a declaration of 'strlen'
main.c:3:22: error: implicit declaration of function 'fgets' [-Wimplicit-function-declaration]
    3 |         for(i=strlen(fgets(s,21,stdin));i--;putchar(s[i]));
      |                      ^~~~~
main.c:3:33: error: 'stdin' undeclared (first use in this function)
    3 |         for(i=strlen(fgets(s,21,stdin));i--;putchar(s[i]));
      |                                 ^~~~~
main.c:1:1: note: 'stdin' is defined in header '<stdio.h>'; this is probably fixable by adding '#include <stdio.h>'
  +++ |+#include <stdio.h>
    1 | main(i){
main.c:3:33: note: each undeclared identifier is reported only once for each function it appears in
    3 |         for(i=strlen(fgets(s,21,stdin));i--;putchar(s[i]));
      |                                 ^~~~~
main.c:3:45: error: implicit declaration of function 'putchar' [-Wimplicit-function-declaration]
    3 |         for(i=strlen(fgets(s,21,stdin));i--;putchar(s[i]));
      |                                             ^~~~~~~
main.c:3:45: note: include '<stdio.h>' or provide a declaration of 'putchar'
main.c:4:12: error: implicit declaration of function 'puts' [-Wimplicit-function-declaration]
    4 |         i=!puts("");
      |            ^~~~
main.c:4:12: note: include '<stdio.h>' or provide a declaration of 'puts'