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

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

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

Скажите, пожалуйста, почему эта штука упорно возвращает -1, при этом заполняя массив? КАК?! Как он делает return -1 и после с чистой совестью идет дальше?
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
 
int InputArr(const char *fileName, int **arr, int *n){
    FILE *objFile = NULL;
    *arr = NULL;
    objFile = fopen(fileName, "r");
    if (objFile == NULL){
        return -1;
    }
    int t = 0;  
    for(*n = 0; fscanf(objFile,"%d", &t) == 1; (*n)++);
    fclose(objFile);
    if(*n != 0){
        objFile = fopen(fileName, "r");
        *arr = (int*)malloc((*n) * sizeof(int));
        for (*n = 0; fscanf(objFile,"%d",(*arr) + (*n)) == 1; (*n)++);
        fclose(objFile);
    }
    return 1;
}

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

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

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


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

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

13   голосов , оценка 3.769 из 5
Похожие ответы