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

Локальные переменные в функции и её аргумент - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Пифагоровы числа http://www.cyberforum.ru/cpp-beginners/thread657580.html
Помогите составить задачу, как на паскале приблизительно знаю. Задача: Найти 20 первых Пифагоровых чисел, k,m,n принадлежит N k^2+m^2=n^2
C++ Побитовые операции Всем доброго утра. Дана такая задача: есть два чсила,поменять местами 2 последние цифры этих чисел между собой, т.е. 2 последних Х заменить на 2 последних У и наоборот. Но сделать это нужно с помощью... http://www.cyberforum.ru/cpp-beginners/thread657579.html
Из целого числа получить новое путем удаления каждой четвертой цифры C++
Из целого числа получить новое путем удаления каждой четвертой цифры
C++ Как можно изменить стандартные переменные в Visual Studio
Здравствуйте! Подскажите, пожалуйста, как изменить такие переменные как $(VCInstallDir).
C++ Проблемы с кодом и проверкой в excel http://www.cyberforum.ru/cpp-beginners/thread657532.html
Проверьте код и если не сложно (я еще не умею) проверку в excel этой функции. Даны натуральные числа N и M (N>M). Вычислить S=\sum_{k-M}^{N}k^2ln(k!) Код программы: //Задание 5 #include...
C++ Арифметические действия с элементами массива Когда барон Мюнхаузен решил пообедать, он привязал к длинной веревки кусок сала и забросил его в воздух. Стая диких гусей пролетала тем временем над домом барона, заинтересовалась необычным предметом... подробнее

Показать сообщение отдельно
Kuzia domovenok
1892 / 1747 / 119
Регистрация: 25.03.2012
Сообщений: 5,936
Записей в блоге: 1

Локальные переменные в функции и её аргумент - C++

25.09.2012, 09:29. Просмотров 372. Ответов 1
Метки (Все метки)

Привет!
Пишу функцию перевода десятичного числа в текст (не обсуждайте зачем и правильно ли я делаю)
Суть такова, начало функции:
C++
1
2
3
4
5
6
7
8
9
void printFixedPoint(char* buffer, float data, int sign){
    float fval, dfval;<<вход: data=55.0
    int ival;
    dfval=10.0;  //        <<data=55.0
    while (fval>=1.0)
    {
        ival=9;
        fval=9*dfval;//<<fval=90.0 и при этом ВНИМАНИЕ!!! 
               //изменилась data=90.0
Почему аргумент функции внезапно принял значение локальной переменной? Порча стека???
MSVS2008

Добавлено через 2 минуты
опасения подтвердились. Адрес fval равен адресу data

Добавлено через 1 минуту
Но почему???? Это ж разные переменные? Одна - аргумент функции, другая локальная в функции?

Добавлено через 5 минут
у меня включён был Release. Поменял на Debug - адреса переменных стали разными.
В чём причина? Хитрый оптимизатор MSVS решил доказать, что он умнее меня и мне нужны не две, а одна переменная?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru