刚学了数组,编个小程序,怎么运行的结果不对,总是密码正确,请人帮我看下

来源:百度知道 编辑:UC知道 时间:2024/05/29 08:57:31
#include"stdio.h"
#include"conio.h"
void main()
{
char a[13],b[13];
int i,j;
foot1:printf("请输入密码:");
for(i=0;i!=13;i++)
{
a[i]=getch();
printf("*");
}
printf("\n请确认密码:");
for(j=0;j!=13;j++)
{
b[j]=getch();
printf("*");
}
for(i==0,j==0;i<=13,j<=13;i++,j++)
{
if(a[i]!=b[j])
{
printf("\n密码输入不正确,请重新输入\001\n");
goto foot1;
}
else;
}
printf("\n密码输入成功!\n");
}

首先呢,你的这个程序越界啦!

char a[13],b[13];

最多只能引用到 a[12]和 b[12],而你的代码里面

for(i==0,j==0;i<=13,j<=13;i++,j++)
if(a[i]!=b[j])

已经引用了超过定义的范围,所以会出现未预期的结果。

试试把 i<=13 和 j<=13 改为 i<13, j<13