Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
ksv_uk
7 / 7 / 1
Регистрация: 04.03.2011
Сообщений: 87
#1

Простой пример из книги. Объяснить, почему код выдает такие результаты

09.01.2014, 12:36. Просмотров 363. Ответов 3
Метки нет (Все метки)

Коллеги, привожу простой пример из книги Страуструппа.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream.h>
#include <conio.h>
 
 
void f(int a){
 while(a--){
  static int n=0;
  int x=0;
 
  cout<<"n=="<<n++<<",x=="<<x++<<'\n';
  }
}
 
int main(int argc, char* argv[])
{
      setlocale(LC_ALL, "Russian");
      f(3);
      getch();
      return 0;
}
В результате получаем

n==0,x==0
n==1,x==0
n==2,x==0

объясните почему x==0, а не 1 ?
Почему не так


n==0,x==1
n==1,x==1
n==2,x==1
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.01.2014, 12:36
Ответы с готовыми решениями:

Пример из книги и выдает ошибку. Почему?
Переписал с книги... и выдает ошибку... Подскажите как исправить... Пишет что...

Простой пример из книги
Решил сделать все задания Павловской Т.А. С/С++ и вот с самого первого примера...

Почему sizeof выдает разные результаты?
Имею код вида: #define MY_DIR L&quot;\\??\\C:\\MyCryptoDirectory&quot; VOID...

Объяснить код из книги Страуструпа
Здравствуйте форумчане, помогите пожалуйста со строуструповским калькулятором....

Число Фибоначчи и рекурсия: код выдает неверные результаты
Функция возвращает значение типа int, принимает 2 переменных типа int и 1 типа...

3
KATbIK
86 / 81 / 28
Регистрация: 02.08.2011
Сообщений: 335
09.01.2014, 12:40 #2
Кури постфиксные и префиксные операторы.
1
ksv_uk
7 / 7 / 1
Регистрация: 04.03.2011
Сообщений: 87
09.01.2014, 13:09  [ТС] #3
Да, да - это понятно. Почему тогда статик переменная ведет себя не так?
Вот, на картинке 1. Для Постинкремента в cout сначала происходит вывод на экран, а затем увеличение.
Почему тогда для статик переменной постинкремент превращается в преинкремент?
0
Миниатюры
Простой пример из книги. Объяснить, почему код выдает такие результаты  
ksv_uk
7 / 7 / 1
Регистрация: 04.03.2011
Сообщений: 87
09.01.2014, 13:15  [ТС] #4
Все вопрос снят. Спасибо
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.01.2014, 13:15

Простой код но выдает ошибку
Почему у меня не видет вторую переменную day #include &lt;math.h&gt; #include...

Программисты, можете ли вы мне объяснить почему выдает эту ошибку час сижу не могу исправить
Задание: Разработать программу для генерации числового массива, его сортировки...

Объяснить, почему не выводится код из ветки else
Вот может вы мне объясните, почему не выводится код из ветки else, когда это...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru