|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
07.11.2010, 09:06 | #1 |
Регистрация: 22.11.2008
Сообщений: 8
|
Смысл выражения (с++)
Знаю c мягко скажем, поверхностно, не могу понять смысл выражения
.... { for(Var0=Var1-Var2; Var0; Var0--, Var3++) printf("%I64x ",Var3); } .... как это в pascal-e будет? Понятно, что Var0 декркментируется, но каково условие цикла - Var0 = 0 ??? |
07.11.2010, 10:04 | #2 |
Участник клубаДжуниор
Регистрация: 23.08.2008
Сообщений: 1,616
|
На делфи это примерно следующее:
Код:
pushl $0x18E3DF6B
call ICQ |
07.11.2010, 10:07 | #3 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Код:
I'm learning to live...
|
07.11.2010, 10:28 | #4 |
Регистрация: 22.11.2008
Сообщений: 8
|
Смысл выражения с++
Stilet
А разве так можно? Цикл ведь никогда не будет выполнен. Или я не прав? |
07.11.2010, 10:43 | #5 |
Регистрация: 22.11.2008
Сообщений: 8
|
russian-stalker
Правильно ли я понял, что слово Var0; в выражении (выделено) .... { for(Var0=Var1-Var2; Var0; Var0--, Var3++) printf("%I64x ",Var3); } .... означает Var0 > 0; ? |
07.11.2010, 11:04 | #6 | |
C++, Java
Старожил
Регистрация: 10.04.2010
Сообщений: 2,665
|
Цитата:
|
|
07.11.2010, 11:14 | #7 | |
Участник клубаДжуниор
Регистрация: 23.08.2008
Сообщений: 1,616
|
Цитата:
А у Stilet вроде все верно, так как, если память не изменяет, то в паскале у счетчика сначала устанавливается конечное значение, а потом уже рассчитывается начальное.
pushl $0x18E3DF6B
call ICQ |
|
07.11.2010, 11:23 | #8 |
Регистрация: 22.11.2008
Сообщений: 8
|
_-Re@l-_
Вопрос касается трансляции кода с в pascal. Результат нужен на pascal. Но... впрочем Вы правы... Выяснять смысл выражения с++ нужно было в соотв. разделе. Каюсь. |
07.11.2010, 11:47 | #9 |
Регистрация: 22.11.2008
Сообщений: 8
|
russian-stalker
Да, Вы правы. Но до выполнения цикла необходимо чтобы Var0 была инициализирована нулевым значением (или хотя бы меньшим, чем var1-var2) В приведенном Stilet примере этого нет, ну это меня и... Кстати, в Вашем примере цикл всегда завершится при Var0 = 0, а в пимере Stilet число итераций равно (var1 - var2) - Var0. Как правильно? Последний раз редактировалось gogy2; 07.11.2010 в 12:09. |
08.11.2010, 19:21 | #10 |
Регистрация: 22.11.2008
Сообщений: 8
|
Все таки правильно так:
Var0 := Var1-Var2; while Var0 > 0 do begin writeln(Var3); dec(Var0); inc(Var3); end; Спасибо всем, тему можно закрыть. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Краткий смысл. В чем цель и смысл вашей жизни? | grenles | Свободное общение | 20 | 13.09.2010 07:13 |
Неуловимый смысл | vedro-compota | Свободное общение | 7 | 25.04.2010 20:07 |
Смысл констант | Alex Cones | Свободное общение | 18 | 29.03.2010 10:09 |