1
我们有一个模拟atm函数的项目。用户必须输入密码并用星号标记。输入pincode必须等于存储在数组中的默认pincode。我的程序可以用星号屏蔽输入pincode,唯一的问题是即使输入pincode与默认pincode相同,它仍然输出不正确。问题是什么?这里是我的代码:比较C++中数组的元素
void checkPword()
{
char defaultPin[4] = "1234";
char inputPin[4] = "";
clrscr();
for (int cnt = 0; cnt <= 3; cnt++)
{
cout << "*";
inputPin[ctr];
}
if (defaultPin[0] == inputPin[0] && defaultPin[1] == inputPin[1]
&& defaultPin[2] == inputPin[2] && defaultPin[3] == inputPin[3])
{
clrscr();
cout << "pincode is correct";
}
else
{
clrscr();
cout << "pincode is incorrect";
}
}
字串' “1234”'实际上包含了五个* *字符。你不能忘记终止''\ 0''。这意味着你正在写入'defaultPin'数组的范围之外。 –
另外,声明'inputPin [ctr];'应该做什么? –
您是否尝试添加一个断点来查看程序没有达到您期望的确切点?调试技巧不仅适用于此程序,还适用于您编写的未来程序。 –