A good answer might be:

Another Triangle() is activated with a parameter of 3.

New Activation

The statement:

    return N + Triangle( N-1 );

must get a value for Triangle(N-1) before the addition can be done. So the first activation of Triangle() causes a second activation of Triangle(), this time with a parameter of 3. Here is how this is pictured:



Look at the code again. Think about the latest activation. What does the activation Triangle(3) do?

int Triangle( int N )
  if ( N == 1 )
    return 1;
    return N + Triangle( N-1 );