次のコードがあります
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 でコードをデバッグすると、2 番目のパラメーターがアドレス ebp + 0xc (0xbffff188 + 0xc) によって設定され、3 番目のパラメーターが ebp + 0x10 に設定され、最初のパラメーターがどこにあるのかがわかりません。関数の戻りアドレスが EBP + 4 にあり、最初のパラメーターが EBP +8 にあることを知っています....私が持っているものから?