Regarding the call stack concept

In Call Stack, when the main function gets removed from the stack ? after we get the output or after the
last line of that function is executed ? . Also what is the difference between adding the return statement in main function and not adding the return statement in main function in cpp ?

The main function gets removed from the stack after the
last line of that function is executed.
According to the latest convention, the return type of main must be int and hence it must return 0 at the end to denote that the program executed successfully. But due to compatibility with older version the compiler executes the program even if you don’t give return statement.
But it is a good practice to give the return statement.