|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
25.04.2009, 16:50 | #21 | |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
Цитата:
Код:
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] Последний раз редактировалось Sazary; 25.04.2009 в 17:01. |
|
25.04.2009, 16:57 | #22 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,085
|
MS VC++ 2008:
Код:
MS VC++ 2005: Код:
Последний раз редактировалось pu4koff; 25.04.2009 в 17:04. |
25.04.2009, 17:01 | #23 | ||
Maniac
Форумчанин
Регистрация: 03.01.2009
Сообщений: 450
|
VStudio 2005
Цитата:
Цитата:
Стандартные библиотеки разработаны с учетом многолетнего опыта лучших программистов и они не больны "детскими болезнями крутизны в программизме"....
|
||
25.04.2009, 17:13 | #24 |
Maniac
Форумчанин
Регистрация: 03.01.2009
Сообщений: 450
|
Goblin, открывайте тайну задачи.
Стандартные библиотеки разработаны с учетом многолетнего опыта лучших программистов и они не больны "детскими болезнями крутизны в программизме"....
|
25.04.2009, 17:38 | #25 |
Форумчанин
Регистрация: 24.11.2007
Сообщений: 196
|
Я щас все раскажу только откомпильте плз. вот эти две проги. Если они не сработают как надо тогда я глубоко заблуждаюсь если заработают правильно, есть смысл расказывать дальше.
Код:
Код:
|
25.04.2009, 17:42 | #26 |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
Первая:
Код:
Код:
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
25.04.2009, 18:20 | #27 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,085
|
MS VC++ 2005:
Первая: Код:
Код:
Первая: Код:
Код:
|
25.04.2009, 18:22 | #28 |
Great Code Monkey
Форумчанин
Регистрация: 09.08.2007
Сообщений: 533
|
Goblin
Ты заблуждаешься, если думаешь, что программа обязана выводить числа от 0 до 6. |
25.04.2009, 18:25 | #29 | |||
Форумчанин
Регистрация: 24.11.2007
Сообщений: 196
|
Цитата:
Объясняю что я имел ввиду задавая задачу. Так как объявление i следует за объявлением name(с учетом того, конечо, что name занимает 8 байт), то по логике вещей в памяти они распалагаются также, друг за другом(как выясниться позже: они расположены друг за другом но в обратном порядке), по этому в первом варианте программы выводиться содержимое переменное i на протижении всего цикла. Но это работает только под Linux компилятор gcc . А в Windows не работает, судя по предыдущим постам. Я предположил что в Windows порядок зополнения стека(или просто расположение переменных в памяти) обратен порядку в Linux, поэтому поменял объявления местами. Но как выяснилось из тех же предыдущих постов это не так. Вывод DevC++ и Visual2008 показал что в мамяти между переменными есть промежутки(это подтверждает последний пост Sazary), которых нет при компиляции с помощью Visual2005, Intel, GCC Код:
Код:
Цитата:
Во втором случае: Цитата:
Эти две программы отличаються от первой только тем что i - char а не int. Так меньше проблем связанных с тем что int занимает от 32 до 64 бит. Моей главной ошибкой было то что я не учел то что в разный компиляторах и разных ОС разный способ расположения переменных в памяти. Поэтому эту задачу нужно адаптировать отдельно для каждого случая. Последний раз редактировалось Goblin; 25.04.2009 в 18:29. |
|||
25.04.2009, 18:36 | #30 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,085
|
Вы будете удивлены, но в MS VC++ 2008 вот этот код:
Код:
Код:
Или Вы это и имели ввиду? |