Konstantin.Zakharov's blog

By Konstantin.Zakharov, 7 years ago, In Russian,

Может это и банально, но я ничего понять не могу. Для ввода начальных значений типа N использую функцию NextInt вида

int NextInt()
{
    int x;
    scanf("%d",&x);
    return x;
}

Да, пусть глупо, или еще как-то, но мне вот просто нравится грешить штучками типа

int N = NextInt(); vector<int> a; a.push_back(NextInt());

Ну так вот, загадка. На вводе четыре числа 1 2 3 4. Я пишу

cout << NextInt() << " " NextInt() << " " << NextInt() << " " NextInt() << endl;

И мне выводится 4 3 2 1 ???? Думаю что же это такое, пишу

printf("%d %d %d %d\n",NextInt(),NextInt(),NextInt(),NextInt());

и опять то же самое 4 3 2 1. Да блин. Промелькнула мысль о скором конце света, но потом все же решил что я вообще ничего не знаю, и функции вычисляются в каком-то неведомом порядке. Ну, думаю, проверим.

int sum(int a, int b)
{
    return a + b;
}
cout << sum(1,2) << " " << sum(3,4) << endl;
printf("%d %d\n",sum(5,6),sum(7,8));

И что? Да нет, все по старому.

3 7
11 15

MS VS 2012, спасайте)

Tags c++, wtf, vs
 
 
 
 
  • Vote: I like it
  • +9
  • Vote: I do not like it