C++ 引发未处理的异常:写入访问冲突:打印出数组元素
我有一个函数,它输出一个字符串数组。第二个函数本应打印反向列表,但由于某种原因,一个名为xmemory的新选项卡弹出,我收到消息:“未处理的异常引发:写入访问冲突。此->\u Myproxy为0xCCCC。”经过数小时的在线搜索,我终于决定看看这里是否有人可以帮助我 这是我的密码:C++ 引发未处理的异常:写入访问冲突:打印出数组元素,c++,arrays,string,swap,C++,Arrays,String,Swap,我有一个函数,它输出一个字符串数组。第二个函数本应打印反向列表,但由于某种原因,一个名为xmemory的新选项卡弹出,我收到消息:“未处理的异常引发:写入访问冲突。此->\u Myproxy为0xCCCC。”经过数小时的在线搜索,我终于决定看看这里是否有人可以帮助我 这是我的密码: #include <iostream> #include<string> using namespace std; void display(string array[5]); void d
#include <iostream>
#include<string>
using namespace std;
void display(string array[5]);
void displayReverse(string array[5]);
int main()
{
string fruit[5] = {"Apple", "Banana", "Orange", "Kiwi", "Cherry"};
display(fruit);
displayReverse(fruit);
return 0;
}
void display(string array[5])
{
for (int i = 0; i < 5; ++i)
{
cout << array[i] << endl;
}
}
void displayReverse(string array[5])
{
swap(array[1], array[5]);
swap(array[2], array[4]);
swap(array[4], array[5]);
cout << array[1] << endl << array[2] << endl << array[3] << endl << array[4] << endl << array[5] << endl;
}
#包括
#包括
使用名称空间std;
无效显示(字符串数组[5]);
void displayReverse(字符串数组[5]);
int main()
{
串果[5]={“苹果”、“香蕉”、“橙子”、“猕猴桃”、“樱桃”};
展览(水果);;
水果;
返回0;
}
无效显示(字符串数组[5])
{
对于(int i=0;i<5;++i)
{
不能包含
#包括
使用名称空间std;
无效显示(字符串数组[5]);
void displayReverse(字符串数组[5]);
int main()
{
串果[5]={“苹果”、“香蕉”、“橙子”、“猕猴桃”、“樱桃”};
展览(水果);;
水果;
返回0;
}
无效显示(字符串数组[5])
{
对于(int i=0;i<5;++i)
{
cout数组索引从0开始。它不会从1开始。因此,如果数组有5个元素,则可以通过数组[0]访问第一个元素。数组[1]表示第二个元素。displayReverse()正在尝试访问数组中不存在的第六个元素
下面是经过一些修改的代码
#include <iostream>
#include <string>
using namespace std;
void display(string array[], int size);
void displayReverse(string array[]);
int main()
{
string fruit[5] = {"Apple", "Banana", "Orange", "Kiwi", "Cherry"};
display(fruit, 5);
displayReverse(fruit);
return 0;
}
void display(string array[], int size)
{
for (int i = 0; i < size; ++i)
{
cout << array[i] << endl;
}
}
void displayReverse(string array[])
{
swap(array[0], array[4]);
//swap(array[2], array[3]);
swap(array[1], array[3]);
cout << array[0] << endl << array[1] << endl << array[2] << endl << array[3] << endl << array[4] << endl;
}
#包括
#包括
使用名称空间std;
无效显示(字符串数组[],整数大小);
void displayReverse(字符串数组[]);
int main()
{
串果[5]={“苹果”、“香蕉”、“橙子”、“猕猴桃”、“樱桃”};
展示(水果,5);
水果;
返回0;
}
无效显示(字符串数组[],整数大小)
{
对于(int i=0;i cout有效索引为0
直到size-1
数组[5]如果你使用std::array
和反向迭代器,你可以编写完整的代码,而不必显式地提及单个索引。或者std::reverse
如果你不仅要反向打印,而且实际上要反向数组,昨晚有人问了同样的问题。如果你ve c++20这可以帮助您:非常感谢!它现在正在工作!
#include <iostream>
#include <string>
using namespace std;
void display(string array[], int size);
void displayReverse(string array[]);
int main()
{
string fruit[5] = {"Apple", "Banana", "Orange", "Kiwi", "Cherry"};
display(fruit, 5);
displayReverse(fruit);
return 0;
}
void display(string array[], int size)
{
for (int i = 0; i < size; ++i)
{
cout << array[i] << endl;
}
}
void displayReverse(string array[])
{
swap(array[0], array[4]);
//swap(array[2], array[3]);
swap(array[1], array[3]);
cout << array[0] << endl << array[1] << endl << array[2] << endl << array[3] << endl << array[4] << endl;
}