关于用C语言描述数据结构的问题
structlist_recordcheck_code(structlist_recordr[],characc[],charc[]){inti;structlist_r...
struct list_record check_code(struct list_record r[],char acc[],char c[])
{
int i;
struct list_record a;
strcpy(a.account,"0");
strcpy(a.code,"0");
a.rec_len=0;
for(i=0;i<a.rec_len;i++)
{
strcpy(a.rec[i].date,"0");
strcpy(a.rec[i].operate,"0");
a.rec[i].num=0;
}
for(i=0;i<3;i++)
if(strcmp(r[i].account,acc)==0)
if(strcmp(r[i].code,c)==0)
return r[i];
printf("密码错误,请重新输入!\n");
return a;
}
这段代码有问题 是一个自定义函数 用于检测密码真确性的当输入密码是错误时候 提示的“密码错误,请重新输入!” 出现两次 并且输入了错误的一次密码 再输入一次正确的密码还是不能进入系统 求大神指点 展开
{
int i;
struct list_record a;
strcpy(a.account,"0");
strcpy(a.code,"0");
a.rec_len=0;
for(i=0;i<a.rec_len;i++)
{
strcpy(a.rec[i].date,"0");
strcpy(a.rec[i].operate,"0");
a.rec[i].num=0;
}
for(i=0;i<3;i++)
if(strcmp(r[i].account,acc)==0)
if(strcmp(r[i].code,c)==0)
return r[i];
printf("密码错误,请重新输入!\n");
return a;
}
这段代码有问题 是一个自定义函数 用于检测密码真确性的当输入密码是错误时候 提示的“密码错误,请重新输入!” 出现两次 并且输入了错误的一次密码 再输入一次正确的密码还是不能进入系统 求大神指点 展开
1个回答
展开全部
a.rec_len=0; // 这里有问题。
for(i=0;i<a.rec_len;i++) //由于你上面给了0值,所以,这段循环不会执行。因此,你下面的工作无法实现
{
strcpy(a.rec[i].date,"0");
strcpy(a.rec[i].operate,"0");
a.rec[i].num=0;
}
你直接给记录长度给了0值,那么无论你输入什么东西,都不会进行问题行下面的那个循环。
请看看是否如此,希望能采纳。
for(i=0;i<a.rec_len;i++) //由于你上面给了0值,所以,这段循环不会执行。因此,你下面的工作无法实现
{
strcpy(a.rec[i].date,"0");
strcpy(a.rec[i].operate,"0");
a.rec[i].num=0;
}
你直接给记录长度给了0值,那么无论你输入什么东西,都不会进行问题行下面的那个循环。
请看看是否如此,希望能采纳。
追问
那应该怎么改的?? 大神 求解
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询