Функция продолжает работу после return - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Скажите, пожалуйста, почему эта штука упорно возвращает -1, при этом заполняя массив? КАК?! Как он делает return -1 и после с чистой совестью идет дальше?
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4. int InputArr(const char *fileName, int **arr, int *n){
  5. FILE *objFile = NULL;
  6. *arr = NULL;
  7. objFile = fopen(fileName, "r");
  8. if (objFile == NULL){
  9. return -1;
  10. }
  11. int t = 0;
  12. for(*n = 0; fscanf(objFile,"%d", &t) == 1; (*n)++);
  13. fclose(objFile);
  14. if(*n != 0){
  15. objFile = fopen(fileName, "r");
  16. *arr = (int*)malloc((*n) * sizeof(int));
  17. for (*n = 0; fscanf(objFile,"%d",(*arr) + (*n)) == 1; (*n)++);
  18. fclose(objFile);
  19. }
  20. return 1;
  21. }

Решение задачи: «Функция продолжает работу после return»

textual
Листинг программы
  1. if(err = -1)
  2. * * * * return -1;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.769 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы