@Alisa_kisa

Почему возникает ошибка сегментации?

#include <iostream>

using namespace std;

int* a()
{
    int b[3]= {1,2,3};
    return b;
}

int main()
{
    int *ar;
    ar = a();
    cout << ar[0] << ar[1] << ar[2];
    return 0;
}


Ожидалось, что выведется "123", а вывелось "Segmentation fault". В чем может быть проблема?
Почему кто то удалил тег linux Это важно, потому что в виндовсе нет такой проблемы
  • Вопрос задан
  • 124 просмотра
Решения вопроса 1
gbg
@gbg
Баянист. Тамада. Услуги.
int* a()
{
    int b[3]= {1,2,3};
    return b;
}  // вот тут b перестает существовать. Возвращенный функцией указатель будет поломан.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы