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