0

I came across this problem in c++ randomly. By my understanding this code:

#include <iostream>

using namespace std;

void foo(int a, int b){
    cout<<"a = "<<a;
    cout<<"\n";
    cout<<"b = "<<b; }

int main() {
    int i = 1;
    foo(++i,i++);

    return 0; }

should print out:

a = 2 
b = 2

But instead it prints out

a = 3
b = 1

How is that possible?

Angeal
  • 1
  • 2

0 Answers0