gpt4 book ai didi

c++ - 如何使用银行程序在XCODE中修复线程1:EXC_BAD_ACCESS(代码= 1,地址= 0x7ffeefc00000)?

转载 作者:行者123 更新时间:2023-12-02 09:50:25 25 4
gpt4 key购买 nike

我被要求完成以下挑战:

enter image description here

完成此任务的代码如下:

enter image description here

这是我的代码:

#include <iostream>
using namespace std;
const int MAXACCOUNTS =8;
int main()
{
int AccountNumber[MAXACCOUNTS] = {1001, 7940, 4382, 2651, 3020, 7168, 6245, 9342};
double Balance[MAXACCOUNTS] = {4254.40, 27006.25, 123.50, 85326.92, 657.0, 7423.34, 4.99, 107864.44};
int DaysSinceDebited[MAXACCOUNTS] = {20, 35, 2, 14, 5, 360, 1, 45};
int i;
for (i = 0; (i < Balance[MAXACCOUNTS - 1]); i++)
{
if ((Balance[i] > 10000) || (DaysSinceDebited[i] > 30))
{
Balance[i] = Balance[i] * 1.06;
}
else
{
Balance[i] = Balance[i] * 1.03;
}
}
cout << Balance[i];

return 0;
}

我正在对XCODE进行编程,这基本上是我第一次这样做,但收到错误:线程1:行21处的EXC_BAD_ACCESS(代码= 1,地址= 0x7ffeefc00000),我是否正确地编写了or语句,或者它正在访问某个地方记不清?

第2部分:

如何显示以下信息:

enter image description here

最佳答案

for循环中的测试条件确实很奇怪!您只需要循环使用值从i0MAXACCOUNTS - 1

因此,代替此:

for (i = 0; (i < Balance[MAXACCOUNTS - 1]); i++) // Nothing to do with the VALUE of any "Balance"!

只需使用此:

for (i = 0; i < MAXACCOUNTS; i++)

就目前而言,您的 for循环将运行到 i107863值(获取 Balance[7]的值并截断为int),这当然会超出数组的实际范围。

另外,如注释中所指出的那样,您需要将 cout << Balance[i];放在for循环内-将其上移一行,然后关闭 }

随时要求进一步的澄清和/或解释。

关于c++ - 如何使用银行程序在XCODE中修复线程1:EXC_BAD_ACCESS(代码= 1,地址= 0x7ffeefc00000)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60130099/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com