关于用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;
}

这段代码有问题 是一个自定义函数 用于检测密码真确性的当输入密码是错误时候 提示的“密码错误,请重新输入!” 出现两次 并且输入了错误的一次密码 再输入一次正确的密码还是不能进入系统 求大神指点
展开
 我来答
ahuj1288
2014-12-11 · 超过16用户采纳过TA的回答
知道答主
回答量:70
采纳率:0%
帮助的人:33.8万
展开全部
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值,那么无论你输入什么东西,都不会进行问题行下面的那个循环。
请看看是否如此,希望能采纳。
追问
那应该怎么改的?? 大神 求解
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式