c09_10.c

来自「it can help you know C++ souce program q」· C语言 代码 · 共 36 行

C
36
字号
/************************************************************************
函数功能:
在链表中查找某个数据项,如果有对应结点,则输出对应结点信息;否则输出错误提示
参数说明:
struct AddressList  *head:所要查找链表的头结点指针, 
int		n: 所要查找结点的第几(n)项成员信息, 
1:按姓名查;  2:按电话号码查;  3:按Email查。 
char	*string:所需查找某项成员信息的值
返回值说明:
struct AddressList  *:如果未找到,指针为NULL;否则返回找到结点对应的指针
************************************************************************/
struct AddressList * find(struct AddressList *head,int n,char *string)
{
	struct AddressList  *p, *q = NULL;
	int		flag = 1;		/*初始值为1,找到时为0*/
	p = head;
	while ((p!=NULL)&&(flag!=0))	/* 遍历未结束,且所需查找的结点未找到 */
	{
		switch (n)
		{
		case 1: flag = strcmp(string,p->name); break;
		case 2: flag = strcmp(string,p->telephone); break;
		case 3: flag = strcmp(string,p->e_mail); break;
		default: break;
		}
		if (flag==0)
		{
			q = p;			/* q 指向找到的结点 */
			return q;
		}
		else
			p = p->next;
	}
	return q;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?