The following code
void function(char* p1, char* p2)
{
    // [...]
    return;
}
char* print(char* msg)
{
    printf("%s\n", msg);
    return msg;
}
function(print("first"), print("second"));
gives output like this: second first
I'm curious why its executing functions from right to left.
 
     
     
    