text: #include <stdio.h>
  #include <stdlib.h>
  #include <string.h>
  
  //tirei os comentários porque eles davam indicações erradas mesmo
  //o erro de runtime é provocado propositalmente pelo código através da função exit
  void vazio(void) {
      char *str = malloc(1);
      char c;
      int i = 0;
      printf("Informe a string: ");
      do {
          c = getc(stdin);
          if (c != '\n') {
              str = realloc(str, i + 1);
              str[i++] = c;
          }
      } while (c != '\n');
      str[i] = '\0';
      if(strlen(str) == 0 || strcmp(str, "0") == 0) {
          printf("\7\a\nErro!\n");
          exit(EXIT_FAILURE);
      }
      printf("\nString: %s", str);
      free(str);
  }
  
  int main(void) {
  	vazio();
  }
  
  //https://pt.stackoverflow.com/q/48119/101
  