I have the following code
int isBST(struct node* node)
{
return(isBSTUtil(node, INT_MIN, INT_MAX));
}
int isBSTUtil(struct node* node, int min, int max)
{
if (node==NULL)
return 1;
if (node->data <= min || node->data > max)
return 0;
return
isBSTUtil(node->left, min, node->data) && // Allow only distinct values
isBSTUtil(node->right, node->data, max); // Allow only distinct values
}
When I do debug the code in GDB, I see that the second parameter is set by address ebp + 0xc (0xbffff188+0xc), the third parameter is set to ebp + 0x10 and the first parameter is not clear where, in theory, we know that the return address of the function is located EBP + 4 , the first parameter is located EBP +8 and ....from what I have so ?