Бланк приложения приложений в Azure Portal (Chrome)

Вместо того, чтобы возвращать массив с return (newArray), вы возвращаете указатель в первый элемент newArray.

Проблема в том, что вы выделяете массив неправильно путь. Если вы создаете экземпляр с помощью int newArray[n], память будет выделена в текущем фрейме стека. Эта память будет освобождена, как только ваша функция вернется, и все, что было в массиве, будет мусором. Вместо этого сделайте следующее:

int *newArray = malloc(n * sizeof(int));
// etc.
return newArray

Используя malloc, вы выделяете память в куче, где она выйдет за конец текущего кадра стека. Просто запомните free(newArray) где-нибудь в вашей программе, когда закончите.

0
задан Golden008 28 February 2019 в 22:30
поделиться

1 ответ

Быстрый поиск похожих проблем в StackOverflow позволил получить полезных ссылок . Тем не менее, это, вероятно, не лучший форум для того, чтобы задавать этот вопрос, поскольку сообщество Stackoverflow в основном зарезервировано для вопросов, ориентированных на разработчиков. Предполагая, что вышеизложенное не решит вашу проблему, настоятельно рекомендуем перенаправить ваш вопрос на форум MSDN Portal Management Portal . Надеюсь, это поможет.

0
ответ дан Femi Sulu 28 February 2019 в 22:30
поделиться