运行报错
#include <stdio.h>
int main()
{
char password[20];
printf("输入密码");
scanf("%s", &password);
printf("确认密码 Y\N");
char ch = getchar();
char tmp = "1";
while ((tmp = getchar()) != '/n')
{
;
}
if (ch == "Y")
{
printf("确认成功");
}
else
{
printf("确认失败");
}
return 0;
}
第六行passward前面去掉取地址符,第九行和十四行双引号换成单引号再试试
字符串或者数组本身的变量名就是地址值,所以不需要写&符,所以把第六行的&去掉
1.数组名就是地址,所以第六行可以把&去掉。
2.在对字符比对时一般用单引号。
#include <stdio.h>
int main()
{
char password[20]={0};
char a;
printf("输入密码\r\n");
scanf("%s", password);
getchar();//用于吸收上一个输入密码时的enter
printf("确认密码 Y/N\r\n");
scanf("%c",&a);
if (a == 'Y')
{
printf("确认成功");
}
else
{
printf("确认失败");
}
return 0;
}