1 / 1 / 0
Регистрация: 21.01.2017
Сообщений: 20
|
||||||
1 | ||||||
Функции с переменным числом параметров23.02.2017, 20:56. Показов 781. Ответов 16
Метки нет Все метки)
(
Такая проблема есть код который должен выводить поочередно цифры, 1 2 3 4 5, я пытаюсь программировать в dev c++ и компилятор выводит 1 0 2 0 3, в чем может быть проблема, помогите разобраться.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
1
|
|
23.02.2017, 20:56 | |
Ответы с готовыми решениями:
16
Функции с переменным числом параметров Функции с переменным числом параметров
Функции с переменным числом параметров |
![]() |
||||||
23.02.2017, 21:09 | 2 | |||||
0
|
1550 / 875 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
|
23.02.2017, 21:10 | 3 |
Golovano-v, Проблема в том, что это - UB. Для функций с переменным числом параметров есть специальные средства.
1
|
63 / 63 / 39
Регистрация: 18.11.2016
Сообщений: 562
|
|
23.02.2017, 21:11 | 4 |
Вам нужно цифры наоборот вывести?
0
|
331 / 283 / 78
Регистрация: 02.08.2016
Сообщений: 1,008
|
|
23.02.2017, 21:11 | 5 |
1
|
![]() 1067 / 846 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
|
23.02.2017, 21:16 | 6 |
Режимы трансляции какие?
В Студии 2012 в режиме 32-битной трансляции Release никаких нулей не выводит. Как и положено в столбик 5 чисел.
0
|
1 / 1 / 0
Регистрация: 21.01.2017
Сообщений: 20
|
|
23.02.2017, 21:20 [ТС] | 7 |
Peoples, спасибо, но хотелось бы услышать ответ по исходному коду, а не совсем другую программу
Добавлено через 3 минуты ValeryLaptev, TDM-GCC 4.9.2 64-bit Release, если я конечно правильно понял))
0
|
1550 / 875 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
|
23.02.2017, 21:22 | 8 |
В сообщении #3 написано. Еще раз, для глухих. ТАК ДЕЛАТЬ НЕЛЬЗЯ, ЭТО - UB. Могут быть разные соглашения о вызовах. У параметра вообще может не быть адреса, он может передаваться через регистры. Для обработки переменного числа параметров есть специальные макросы
1
|
1 / 1 / 0
Регистрация: 21.01.2017
Сообщений: 20
|
|
23.02.2017, 21:22 [ТС] | 9 |
Photofenix, нет мне нужно вывести 1 2 3 4 5, собственно как в теле main, но компилятор выводит 1 0 2 0 3
0
|
331 / 283 / 78
Регистрация: 02.08.2016
Сообщений: 1,008
|
||||||
23.02.2017, 21:25 | 10 | |||||
Проблема в том, что вы гуляете по памяти в надежде, что аргументы передаются через стек, во первых это не правильно с точки зрения безопасности(можно легко ошибиться и получить критическую уязвимость), во вторых никто не обязан гарантировать, что они передаются через стек, мой компилятор (gcc какой-то версии) скомпилировал вызов функции вот так(честно сказать я и сам не ожидал этого):
Какие умные нынче компиляторы пошли ![]()
1
|
![]() 1067 / 846 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
|
23.02.2017, 21:31 | 11 |
Golovano-v, вообще-то тут правильно пишут, что так делать не надо.
В разных системах обычно получаются разные результаты. В Студии 2012 выводится в столбик 1 1 0 2 0 3
0
|
1 / 1 / 0
Регистрация: 21.01.2017
Сообщений: 20
|
|
23.02.2017, 21:34 [ТС] | 12 |
Спасибо всем откликнувшимся за помощь, avgoor, валерьяночки выпей, а то как -то вы агрессивно реагируете, это темы для новичков, и тупых вопросов тут достаточно, для того он и создан
![]()
0
|
1550 / 875 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
|
23.02.2017, 21:35 | 13 |
DevAlone, ValeryLaptev, это зависит не от версии студии а от ABI.
0
|
331 / 283 / 78
Регистрация: 02.08.2016
Сообщений: 1,008
|
|
23.02.2017, 21:42 | 14 |
1
|
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
|
||||||
24.02.2017, 01:40 | 15 | |||||
http://ideone.com/Sx2jtn
Последний писк моды:
1
|
![]() 8718 / 4299 / 957
Регистрация: 15.11.2014
Сообщений: 9,743
|
|
24.02.2017, 16:45 | 16 |
UB - такое UB,
что зависит только от звезд на небе, и ни от чего более. Golovano-v, существует стандартный способ работы с функциями элипсисами: смотрите пример использования: http://www.cplusplus.com/refer... /va_start/
0
|
331 / 283 / 78
Регистрация: 02.08.2016
Сообщений: 1,008
|
||||||
03.03.2017, 14:25 | 17 | |||||
Можно ещё так:
0
|
03.03.2017, 14:25 | |
Помогаю со студенческими работами здесь
17
Функции с переменным числом параметров
Функции с переменным числом параметров Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |