Не передаётся динамический массив в СИ
Ситуация такая:создаётся массив, с количеством элементов, введённых с клавиатуры, а потом передаётся в функцию, где вычисляется последний отрицательный и выводится, в самой функции, номер и значение, после чего значение передаётся в основную программу и будет использовано. Проблема заключается в том, что массив по неведомым мне причинам не передаётся, в чём проблема не пойму. Подскажите пожалуйста неопытному.
#include <stdio.h> // Подключнение библиотеки для ввода вывода
#include <locale.h>// Подключение библиотеки для использования русского языка в выводе
#include <stdlib.h> // Для рандома
#include <time.h>
#include <malloc.h>
int* TheFunctionOfTheSmallestValue(int size, int* array)
{
int k = size;
for (k - 1; k >= 0; k--)
{
if(array[k] < 0)
{
printf("Последний отрицательный элемент массива %d \n", array[k]);
printf("Имеет индекс %d \n", k);
return &k;
}
}
}
int main(void)
{
srand(time(NULL));
setlocale(LC_ALL, "Rus");//Команда для включения русского языка в выводе
int N1, N2, * lastminA, * lastminB, number;// Выделение памяти под переменные
printf("Введите размер массива А\n");
scanf("%d", &N1);
int* A = new int[N1];
for (number = 0; number < N1; number++)
{
A[number] = rand() % 40 - 20;
printf("%d\n", A[number]);
}
printf("Введите размер массива B\n");
scanf("%d", &N2);
int* B = new int[N2];
for (number = 0; number < N2; number++)
{
B[number] = rand() % 40 - 20;
printf("%d\n", B[number]);
}
lastminA = TheFunctionOfTheSmallestValue(N1, A);
lastminB = TheFunctionOfTheSmallestValue(N2, B);
printf("%i\n", lastminA);
printf("%i\n", lastminB);
}