问题在哪
代码修改如下
#include<stdio.h>
int main()
{
char password[20];
printf("请输入密码:");
scanf_s("%s", &password,20);
printf("请确认(Y/N)");
getchar();
int ch = getchar();
if (ch == 'Y')
printf("确认\n");
else
printf("放弃确认\n");
return 0;
}
可能是越界了,初始化的时候定义了大小,后面再写string[20]就是访问字符串数组第21号元素,可能是这里造成了越界
#include <stdio.h>
int main(int argc, char const *argv[])
{
char string[20] = {0};
scanf("%s", string);
printf("%s", string);
return 0;
}
有帮助望采纳
输入语句改为:scanf_s("%s",password,20);
#include<stdio.h>
#pragma warning(disable : 4996)
int main()
{
char password[20];
printf("请输入密码:");
scanf("%s", &password);
printf("请确认(Y/N)");
getchar();
int ch = getchar();
if (ch == 'Y')
printf("确认\n");
else
printf("放弃确认\n");
return 0;
}
(写惯了C++,不知这会不会编译错误)