问题遇到的现象和发生背景
运行的时候,输入了“123456”,结果没办法继续运行。
问题相关代码,请勿粘贴截图
#include<stdio.h>
#include<string.h>
int main()
{
char password[20] = { 0 };
printf("请输入密码:");
scanf_s("%s", password); //由于数组自带地址,不需要&符号
printf("请确认密码(Y/N):");
int imp = 0;
while ((imp = getchar()) != '\n') {
;
} //清空缓冲区
int ch = getchar();
if (ch == 'Y')
printf("确认成功\n");
else
printf("确认失败\n");
return 0;
}
运行结果及报错内容
在scanf那一行,报错 0x7C01E63C (ucrtbased.dll)处(位于 Project1.c.exe 中)引发的异常: 0xC0000005: 写入位置 0x00D00000 时发生访问冲突。
我的解答思路和尝试过的方法
不知道
我想要达到的结果
输入一个密码,然后再输入Y或N,输出“确认成功”或“确认失败”