У меня есть следующий код
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
}
Когда делаю отладку кода в GDB, то вижу, что второй параметр задан по адресу ebp+0xc (0xbffff188+0xc), третий параметр установлен в ebp+0x10 и первый параметр непонятно откуда, по идее, мы известно, что адрес возврата функции находится EBP+4, первый параметр находится EBP+8 и ....откуда у меня так?