|
Заблокирован
|
||||||
Почему программа Работает?13.09.2012, 17:51. Показов 1166. Ответов 15
Метки нет (Все метки)
Объясните пожалуйста, как это может работать? Определять переменную вроде можно только один раз. А тут цикл каждый раз проверяет условие, и каждый раз заново определяет i ?
0
|
||||||
| 13.09.2012, 17:51 | |
|
Ответы с готовыми решениями:
15
Почему программа не работает на MFC статичной библиотеки. а вот на стандартном мфс работает Почему не работает программа?
|
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
|
| 13.09.2012, 17:55 | |
|
Цикл while позволяет определять переменную в условии (как и for например) так что ничего не мешает создать переменную i и присвоить ей 1, а так как 1 будет трактоваться как true то цикл выполняется.
0
|
|
|
154 / 138 / 34
Регистрация: 23.05.2009
Сообщений: 275
|
||
| 13.09.2012, 17:57 | ||
|
Потому что:
0
|
||
|
Заблокирован
|
|||||||||||
| 13.09.2012, 22:44 [ТС] | |||||||||||
|
Ничего я не понял из вышесказанного. В книжках по С++ что написано, что объявлять переменную можно хоть 1000 раз, а определять, и инициализировать только один раз, поэтому вопрос еще раз, как это работает???
0
|
|||||||||||
|
87 / 87 / 1
Регистрация: 19.06.2012
Сообщений: 245
|
|
| 13.09.2012, 23:10 | |
|
Тут слово int командует компилятору выделить память (не в рантайме, а компилятору, поэтому один раз). И потом туда каждый раз пишется 1 и результат выражения тоже получается 1.
0
|
|
| 13.09.2012, 23:38 | |||||||||||
|
Код
0
|
|||||||||||
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
||||||
| 13.09.2012, 23:41 | ||||||
|
AnreyKazakov, Вам же написали, что данный код эквивалентен:
0
|
||||||
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
||
| 13.09.2012, 23:44 | ||
|
Герц, нет, не должна, переменная именно пересоздается, а не используется первая. Компилятор может сделать конечно оптимизацию, что бы встроенный тип не создавался каждый раз. Все прекрасно будет работать и так.
И кстати:
1
|
||
| 13.09.2012, 23:46 | |||
|
x присваивается единица на каждой итерации, цикл работает неверно. Хм, и правда пересоздается. Значит в присваивании должна быть какая-то динамика, чтобы из цикла выйти. Получается не слишком полезный способ объявления, видимо потому и не используют почти.
Загляни в спецификацию, скажем, C#, в описание цикла foreach для объектов разного типа, там описывается, какому for'у эквивалентен каждый из видов foreach, я имел ввиду именно чему он эквивалентен.
0
|
|||
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
||
| 13.09.2012, 23:52 | ||
|
Герц, так и должно быть, так как int x = 1 всегда проверяется как условие, и естественно всегда выполняется. Это бесконечный цикл, если только не присваивать 0.
Добавлено через 3 минуты
0
|
||
|
Заблокирован
|
||||||||||||
| 14.09.2012, 01:02 [ТС] | ||||||||||||
Добавлено через 4 минуты Но тогда и такая запись отяготит код
0
|
||||||||||||
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
|
| 14.09.2012, 01:15 | |
|
AnreyKazakov, если это встроенный тип, то разницы нет будет, в цикле или нет. А если пользовательский, то уже будет.
По поводу for - это совершенно другой оператор, со своим механизмом работы.
1
|
|
|
Заблокирован
|
|||||||||||
| 14.09.2012, 01:29 [ТС] | |||||||||||
|
Все теперь разобрался полностью, всем спасибо ...
да если не сложно прокомментируйте следующий код, тему неохота создавать, что-то типа этого:
, ошибок на страницу, а здесь почти то же самое
0
|
|||||||||||
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
|
| 14.09.2012, 01:33 | |
|
Потому что оператор >> возвращает ссылку на объект istream ( cin в данном случае ).
1
|
|
| 14.09.2012, 01:33 | |
|
Помогаю со студенческими работами здесь
16
Почему не работает программа? Почему не работает программа? Почему программа не работает? Почему не работает программа? Почему до конца не работает программа? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга,
Ты же видел моря и метели.
Как сменялись короны и стяги,
Как эпохи стрелою летели.
- Этот мир — это крылья и горы,
Снег и пламя, любовь и тревоги,
И бескрайние. . .
|