Language: C

#include<stdio.h>
int i,z,f=1,o="!OUT";int main(){for(puts("?aa");fflush(stdout),scanf("%s",&i);){if(i&31^1)return!puts(o);i>>=8;if(i){if(f&1<<i-97)return!puts(o);f|=1<<i-97;printf("?%ca\n",i);}else{if(z++)return!puts(o);puts("?aaa");}}}

Compiler output:
main.c:2:15: error: initialization of 'int' from 'char *' makes integer from pointer without a cast [-Wint-conversion]
    2 | int i,z,f=1,o="!OUT";int main(){for(puts("?aa");fflush(stdout),scanf("%s",&i);){if(i&31^1)return!puts(o);i>>=8;if(i){if(f&1<<i-97)return!puts(o);f|=1<<i-97;printf("?%ca\n",i);}else{if(z++)return!puts(o);puts("?aaa");}}}
      |               ^~~~~~
main.c:2:15: error: initializer element is not computable at load time
main.c: In function 'main':
main.c:2:103: error: passing argument 1 of 'puts' makes pointer from integer without a cast [-Wint-conversion]
    2 | int i,z,f=1,o="!OUT";int main(){for(puts("?aa");fflush(stdout),scanf("%s",&i);){if(i&31^1)return!puts(o);i>>=8;if(i){if(f&1<<i-97)return!puts(o);f|=1<<i-97;printf("?%ca\n",i);}else{if(z++)return!puts(o);puts("?aaa");}}}
      |                                                                                                       ^
      |                                                                                                       |
      |                                                                                                       int
In file included from main.c:1:
/usr/include/stdio.h:714:30: note: expected 'const char *' but argument is of type 'int'
  714 | extern int puts (const char *__s);
      |                  ~~~~~~~~~~~~^~~
main.c:2:143: error: passing argument 1 of 'puts' makes pointer from integer without a cast [-Wint-conversion]
    2 | int i,z,f=1,o="!OUT";int main(){for(puts("?aa");fflush(stdout),scanf("%s",&i);){if(i&31^1)return!puts(o);i>>=8;if(i){if(f&1<<i-97)return!puts(o);f|=1<<i-97;printf("?%ca\n",i);}else{if(z++)return!puts(o);puts("?aaa");}}}
      |                                                                                                                                               ^
      |                                                                                                                                               |
      |                                                                                                                                               int
/usr/include/stdio.h:714:30: note: expected 'const char *' but argument is of type 'int'
  714 | extern int puts (const char *__s);
      |                  ~~~~~~~~~~~~^~~
main.c:2:201: error: passing argument 1 of 'puts' makes pointer from integer without a cast [-Wint-conversion]
    2 | int i,z,f=1,o="!OUT";int main(){for(puts("?aa");fflush(stdout),scanf("%s",&i);){if(i&31^1)return!puts(o);i>>=8;if(i){if(f&1<<i-97)return!puts(o);f|=1<<i-97;printf("?%ca\n",i);}else{if(z++)return!puts(o);puts("?aaa");}}}
      |                                                                                                                                                                                                         ^
      |                                                                                                                                                                                                         |
      |                                                                                                                                                                                                         int
/usr/include/stdio.h:714:30: note: expected 'const char *' but argument is of type 'int'
  714 | extern int puts (const char *__s);
      |                  ~~~~~~~~~~~~^~~