Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 24.02.2019
Сообщений: 45
1

Что произойдет при запуске данной программы?

14.08.2019, 18:10. Показов 686. Ответов 2
Метки нет (Все метки)

Что произойдет при запуске данной программы?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
int* make_array(int x) {
    int data[3];
    for (int i = 0; i < 3; ++i)
        data[i] = x;
    return data;
}
int main() {
    int *m = make_array(7);
    for (int i = 0; i < 3; ++i)
        std::cout << m[i];
    return 0;
}

1)Программа выведет 777


2)Программа выведет другое число


3)Программа выведет не число


4)Программа ничего не выведет


5)Программа не скомпилируется из-за ошибки


6)Программа скомпилируется, запустится, но завершится с ошибкой во время работы
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.08.2019, 18:10
Ответы с готовыми решениями:

Если из текста программы убрать цикл что произойдет?
Программа на замену последнего эл.массива на среднее арифметическое макс. и мин. элементов....

при компиляции выдает что нет ошибок, при запуске самой программы не запускается
Здраствуйте, помогите пожалуйста с программой. при компиляции выдает что нет ошибок, при запуске...

При запуске программы выводиться ошибка,не знаю что делать
При запуске программы выводиться ошибка-Project Project1.exe raised exception class EReaderror with...

Что произойдёт при исполнении строки String s
Что произойдёт при исполнении этой строки? String s; Какая память будет выделена, для чего, будет...

2
1732 / 920 / 382
Регистрация: 11.10.2018
Сообщений: 4,813
14.08.2019, 18:19 2
Учите, что такое тэги кода.

Добавлено через 1 минуту
Ответ:
1) Программа выведет 777.
0
Модератор
Эксперт С++
11078 / 9133 / 5487
Регистрация: 18.12.2011
Сообщений: 24,414
14.08.2019, 20:43 3
Цитата Сообщение от Всеволод45 Посмотреть сообщение
int data[3];
...
return data;
Возврат указателя на временный объект.
Поэтому, поведение программы непредсказуемо.
Может и выведет 777 (вариант 1), а может и не выведет, а слетит по runtime ошибке (вариант 6).
А, может, выведет что-то другое (вариант 2). У меня, например, вывело 741920484192492

Правильный вариант программы:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
int* make_array(int x) {
    int* data=new int[3];
    for (int i = 0; i < 3; ++i)
        data[i] = x;
    return data;
}
int main() {
    int *m = make_array(7);
    for (int i = 0; i < 3; ++i)
        std::cout << m[i];
    delete[] m;
    return 0;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.08.2019, 20:43

Что произойдет с сайтом при смене IP host?
В общем не знаю правильно ли это называется, но вопрос вот в чем я хочу зарегистрировать в той же...

Что произойдет при клике по указанной гиперссылке?
Что произойдет при клике по следующей гиперссылке? &lt;A HREF=&quot;http://kspi.kz/&quot; TARGET=&quot;_blank&quot;...

Как сделать что бы сразу открывалась страница при запуске программы в WebBrowser
Как сделать что бы сразу открывалась страница при запуске программы в WebBrowser1 Что бы не...

Как подключить форму, что б при запуске программы она запускалась первой ?
У меня имеется программа,и имеется интерфейс для ее &quot;запуска&quot; , мне необходимо подключить эту...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.