Функция продолжает работу после 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;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д