fork(2) download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. //tirei os comentários porque eles davam indicações erradas mesmo
  6. //o erro de runtime é provocado propositalmente pelo código através da função exit
  7. void vazio(void) {
  8. char *str = malloc(1);
  9. char c;
  10. int i = 0;
  11.  
  12. printf("Informe a string: ");
  13. do {
  14. c = getc(stdin);
  15. if (c != '\n') {
  16. str = realloc(str, i + 1);
  17. str[i++] = c;
  18. }
  19. } while (c != '\n');
  20. str[i] = '\0';
  21. if(strlen(str) == 0 || strcmp(str, "0") == 0) {
  22. printf("\7\a\nErro!\n");
  23. exit(EXIT_FAILURE);
  24. }
  25. printf("\nString: %s", str);
  26. free(str);
  27. }
  28.  
  29. int main(void) {
  30. vazio();
  31. return 0;
  32. }
Runtime error #stdin #stdout 0s 2188KB
stdin
stdout
Informe a string: 
Erro!