我发现上次的超市购物管理系统的密码不回显可能导致数组下表越界 于是进行了改进
如下
char *pass()
{
char a[20],ch;
int i=0;
while((ch=getch())!=‘\r‘)
{
if(i<20)
{
if(ch!=‘\b‘)
{
a[i++]=ch;
putchar(‘*‘);
}
else if(i>0)
{
i--;
putchar(‘\b‘);
putchar(‘ ‘);
putchar(‘\b‘);
}
}
}
a[i]=‘\0‘;
return a;
}