求高手解读这段代码。。。!!!

2024-12-28 11:44:18
推荐回答(2个)
回答1:

这是一个通讯录检索函数

//p : 传递过来的指向存储通讯录的结构变量地址指针
//n : 准备顺序检索的记录数
void mysearch(struct student *p,int n)
{
struct student *q=p; //定义一个student结构的局部指针变量q,并指向传递过来的通讯录地址指针
int flag=0; //查询检索结果标志,0为未检索到,1为检索到。预置为未检索到状态
char c='\0',nm[10]="",nam[10]=""; //定义字符变量C、学号数组变量、姓名数组变量,用于键盘输入信息缓存
printf("\n按照学号查询(h)或姓名查询(m):\n"); //显示信息,提示用户选择查询方式
c=getche(); //等待键盘输入选择
if(c=='h'||c=='H')
{//键盘输入的是h或H,选择按学号查询的方式
printf("请输入要查询记录的学号:");gets(nm);//输出提示信息并等待键盘输入学号;得到输入的学号
for(p=q;p-q if(strcmp(nm,p->num)==0)//比较检索到的记录的学号与输入的学号是否相同
{//相同则输出
printf(" 学号 姓名 电话\n"); //显示提示中文信息
printf("%23s%15s%15s\n",p->num,p->name,p->tel);//依次显示检索出的学号、姓名及电话信息
flag=1;//检索到,设置标志为1
}
if(flag==0) printf("wrong...\n");//循环完成后判断如果没有检索到则输出"wrong",否则退出函数
}

回答2:

1-返回一datatable的函数 2-执行一个SQL,根据其是否正确执行的返回值作为函数的返回值