@Lenin1917

Информация в книге успела устареть?

Результаты кода из книги Васильева А.Н. немного не сходятся с его комментарием (и моими рассуждениями на основе его объяснения). Почесал репу и не придумал ничего лучше чем написать сюда. Посоветуйте пожалуйста книгу без таких вот ляпов на первых страницах.
#include<iostream>
using namespace std;
int main(){
int n,m,i=3,j=3;
cout<<"At the beginning:\n";
cout<<"i = "<<i<<"\n";
cout<<"j = "<<j<<"\n";
cout<<"After command n=i++ :\n";
n=i++;// Теперь n=3, а i=4
cout<<"n = "<<n<<"\n";
cout<<"i = "<<i<<"\n";
cout<<" After command m=++j :\n";
m=++j;// Значение переменных m=4 и j=4
cout<<"m = "<<m<<"\n";
cout<<"j = "<<j<<"\n";
cout<<" After command n=(--i)*(i--) :\n";
n=(--i)*(i--);// Теперь n=9, а i=2
cout<<"n = "<<n<<"\n";
cout<<"i = "<<i<<"\n";
cout<<" After command m=(--j)*(--j) :\n";
m=(--j)*(--j);// Теперь m=4, а j=2
cout<<"m = "<<m<<"\n";
cout<<"j = "<<j<<"\n";
cout<<" After command n=(--i)*(i++) :\n";
n=(--i)*(i++);// Теперь n=1, а i=2
cout<<"n = "<<n<<"\n";
cout<<"i = "<<i<<"\n";
cout<<" After command m=(j--)*(++j) :\n";
m=(j--)*(++j);// Теперь m=9, а j=2
cout<<"m = "<<m<<"\n";
cout<<"j = "<<j<<"\n";
cout<<" After command n=(--i)*(++i) :\n";
n=(--i)*(++i);// Теперь n=4, а i=2
cout<<"n = "<<n<<"\n";
cout<<"i = "<<i<<"\n";
return 0;
}
  • Вопрос задан
  • 136 просмотров
Пригласить эксперта
Ответы на вопрос 1
@laphroaig
Знаете чем книга отличается от документации исходного кода? В первом случае код не всегда актуален, а во втором - текст. Если при чтении документации нужно всегда иметь ввиду, что она может быть неактуальна, то при чтении книги наоборот. В первую очередь нужно вникать в смысл написанного, а примеры - это просто примеры. Не нужно тупо пытаться заставить примеры работать, а потом по тексту понять, что же там происходит. Прочитали, осознали, пытаемся сделать по своему, а в пример просто подглядываем.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы