|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Alexandr S. Agranovsky 2:5020/400 02 Jan 2003 12:40:37 To : Vasya Kruglov Subject : Re: kernel compiling -------------------------------------------------------------------------------- Hi, Vasya Kruglov VK> Представь, что данный код исполняется так, как он написан, т.е. VK> последовательно и без оптимизации каждый оператор выполняется так, как VK> описано в стандартах на С. По стандартам на С этот код вызовет ошибку компиляции. Если вынести int i выше for'а, то получим компилябельную программу, у которой внутри тела первого for'а будет _другая_ переменная i, которая не тождественна той переменной, которая была до первого for. int sum; int i; for (i=1;i<5;i++) { int i; /* это ДРУГАЯ переменная с тем же именем */ for (i=1;i<15;i++) { sum++; } } VK> Какой после его выполнения будет результат? 75 VK> Если я правильно понимаю, то sum VK> будет равно таки 15. Почему же различаются результаты работы VK> оптимиированного и неоптимизированного кода? Они не отличаются. VN, похоже, рано начал отмечать и не понял твоего вопроса. VK> P.S. Или я плохо знаю С? да. - --- Alexandr S. Agranovsky llb@udmnet.ru --- ifmail v.2.15dev5 * Origin: LLB, LLC (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/364243f39579.html, оценка из 5, голосов 10
|