问题遇到的现象和发生背景
设置一个注册和登录的页面,在登录页面时第一次能成功,但是第二次有一个while语句被跳过了
问题相关代码,请勿粘贴截图
代码有点长,截了一些相关部分,主要在图4
运行结果及报错内容
第一次执行
第二次执行
设置一个注册和登录的页面,在登录页面时第一次能成功,但是第二次有一个while语句被跳过了
代码有点长,截了一些相关部分,主要在图4
第一次执行
while(ch2[k2-1]!=' ')这个地方,如果启动程序,选择1,然后选择2,直接登录,k2=0,k2-1等于-1,数组越界,程序会崩掉的。代码逻辑有问题,应该改成do while语句,ch2最后加个结束标志,而且,循环开始前,应该把k2重置为0:
printf("请您输入五位密码:");
k2=0;
do
{
ch2[k2]=getch();
k2++;
printf("*");
}while(ch2[k2-1]!=' ');
ch2[k2]=0;