Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ksv_uk
7 / 7 / 1
Регистрация: 04.03.2011
Сообщений: 87
#1

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

09.01.2014, 12:36. Просмотров 314. Ответов 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
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.01.2014, 12:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Простой пример из книги. Объяснить, почему код выдает такие результаты (C++):

Пример из книги и выдает ошибку. Почему? - C++
Переписал с книги... и выдает ошибку... Подскажите как исправить... Пишет что не задекларирован QType... # include &lt;iostream&gt; using...

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

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

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

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

Простой код но выдает ошибку - C++
Почему у меня не видет вторую переменную day #include &lt;math.h&gt; #include &lt;iostream&gt; using namespace std; void main() { int...

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

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

Объяснить, почему не выводится код из ветки else - C++
Вот может вы мне объясните, почему не выводится код из ветки else, когда это надо. Задача заменить слово на &quot;a&quot;, если оно является...

Почему не работает программа-пример для демонстрации работы функции strcmp (из книги Шилдта)? - C++
Здравствуйте, помогите пожалуйста разобраться, почему программа не выполняется как надо. Программа-пример, для демонстрации работы функции...

Объяснить почему компилируется этот код (динамические массивы) - C++
Что это =-O int*array = new int; То есть почему компилится? anti-k, пожалуйста, прочитайте правила форума и постарайтесь...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
09.01.2014, 13:15
Ответ Создать тему
Опции темы

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