【简答题】
试题二
阅读下列函数说明和C代码,将应填入__(n)___处的字句写在答题纸的对应栏内。
[函数2.1说明]
函数char *strrchr(char*s,char ch)的功能是在字符串s中寻找字符ch若ch出现在字符串s中,则返回最后一次出现时的位置,否则返回NULL。
[函数2.1]
char *strrchr(char *s,char ch)
{
char*p;
p = __(1)__; `/*p指向字符串s的结束标志*/
while( --p >= s)
if(__(2)__) return p;
return NULL;
}
[函数2.2说明]
函数BTREE *SortTreeSearch(BTREE *tree,int d)采用非递归方法,在二叉排序 树(二叉查找树)中查找键值为d的结点。若找到,则返回键值所在结点的指针,否则 返回NULL。
二叉查找树的结点类型为:
typedef struct node{
int data; /*结点的键值*/
struct node *left;
struct node *right;
}BTREE;
[函数2.2]
BTREE *SortTreeSearch(BTREE *tree,int d)
{
BTREE *ptr = tree;
while(ptr != NULL && d != ptr->data){
if(d < ptr->data)
__(3)__;
else
__(4)__;
}
return__(5)___;
}
参考答案
(1) strlen(s) + s
(2) *p == ch
(3) ptr = ptr ->left
(4) ptr = ptr->right
(5) ptr