Форум программистов, компьютерный форум CyberForum.ru

Возвращаемое значение функции - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вывод слов из строки http://www.cyberforum.ru/cpp-beginners/thread651230.html
Суть задачи: Дан текст, состоящий из N (2<=N<=10) строк с максимальной длиной 80 символов. Необходимо вывести в обратном алфавитном порядке те слова, длина которых не превышает K символов. Считать, что текст написан синтаксически грамотно, в качестве знаков препинания использу-ются точка и запятая, слова состоят только из букв, перенос слов по слогам отсутствует. Для выделения слов из...
C++ Вывести на экран координаты точки, наиболее удаленной от начала координат 2. С помощью ГСЧ задать матрицу А(5,2), содержащую координаты точек на плоскости. Вывести ее на экран в прямоугольном виде. Вывести на экран координаты точки, наиболее удаленной от начала координат. :) http://www.cyberforum.ru/cpp-beginners/thread651228.html
C++ поиск длины пути
Всем доброго утра Ребята подскажите пожалуйста алгоритм дана матрица расстояний n*n, в ячейках расположены расстояний между i и j объектами нужно сформировать массив который будет хранить сумму расстояний между всеми возможными путями например, даны 3 объекта(1,2,3), расстояния между ними, нужен массив который хранит пути 123, 132, 231, 213, 312, 321 Заранее благодарю
Размеры переменных C++
Здравствуйте! Простите за такой вопрос, но я до сих не понял что такое размер переменной. Объясните пожалуйста что такое размер(ширина) переменной ? Например: размер int-а (в зависимости от компилятора) 4 байта, означает ли это что для хранения данных типа инетежер резервируется 4 байта в памяти или что-то другое?
C++ Найти координаты четвертой вершины квадрата http://www.cyberforum.ru/cpp-beginners/thread651209.html
1. На плоскости заданы координаты трех вершин квадрата АВСД - вершин А, В и С. Найти координаты четвертой вершины
C++ Цикличные алгоритмы Помогите решить!!! )))) я на вас надеюсь. от этого зависит моя судьба))) Вычислить сумму ряда с погрешностью ε=0,0001 для заданного x. Сравните результаты с точным значением функции, для которого сумма определяет приближенное значение: 1/(1+x)= 1-x+x^2-x^3+x^4-…; |x|<1 подробнее

Показать сообщение отдельно
kotleta
 Аватар для kotleta
42 / 42 / 11
Регистрация: 13.09.2012
Сообщений: 196
13.09.2012, 09:07     Возвращаемое значение функции
Здравствуйте
Я тут новенький. Очень трудно у вас проходить регистрацию.

У меня вопрос по С++
Компилятор: Code Blocks

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string.h>
 
using namespace std;
 
int* func() // функция возвращает адрес
{
    int a=347893;
    return &a;
}
 
int main()
{
 // cout << *func();   выведет 347893
 int *p;
 p = func();
 cout << *p; // Почему выводит 347893
 
 return 0;
}
В этом примере есть расхождение между тем, что я знаю (скорее всего я знаю неправильно ), и тем, что выдается на экран.

В функции создается переменная int a, ей присваивается значение. Функция возвращает адрес этой переменной. Дальше происходит выход из блока функции, и локальная переменная int a стирается(?)

В теле main я создаю переменную-указатель p и ей присваиваю то, что вернула функция, т.е. адрес переменной а, но если переменная а по завершению работы функции уничтожилась, и по-хорошему разыменование указателя выдаст какую-нибудь хрень, то почему выводится значение 347893?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru