C++ 此代码被转储并显示分段失败。我能';我修不好

C++ 此代码被转储并显示分段失败。我能';我修不好,c++,c++17,C++,C++17,此代码被转储并显示分段失败。我怎样才能修好它?如何解决此错误 #include <iostream> using namespace std; int main() { int a[] = {4, 3, 2, 1, 5}; int temp,i,j; for ( i = 0; i < 4; i++) { for (j = 0; i < 5; j++) { if (a[j] >

此代码被转储并显示分段失败。我怎样才能修好它?如何解决此错误

#include <iostream>

using namespace std;

int main()
{
    int a[] = {4, 3, 2, 1, 5};
    int temp,i,j;
    for ( i = 0; i < 4; i++)
    {
        for (j = 0; i < 5; j++)
        {
            if (a[j] > a[i])
            {
                temp = a[i];
                a[i] = a[j];
                a[j] = temp;
            }
        }
    }
    for (i = 0; i < 5; i++)
    {
        cout << a[i];
    }
    return 0;
}
#包括
使用名称空间std;
int main()
{
inta[]={4,3,2,1,5};
内部温度,i,j;
对于(i=0;i<4;i++)
{
对于(j=0;i<5;j++)
{
如果(a[j]>a[i])
{
温度=a[i];
a[i]=a[j];
a[j]=温度;
}
}
}
对于(i=0;i<5;i++)
{

cout我想你是想为(j=0;j<5;j++)键入
。否则
j
只会递增,直到循环提交越界操作。

我想你是想为(j=0;j<5;j++)键入
。否则
j
只会递增,直到循环提交一个越界操作。

您的内部循环正在检查i而不是j。您的内部循环正在检查i而不是j。谢谢。这是一个严重的错误。我应该更加小心。该死。提醒我:ib.paths.ws/EjHqOp8OThank you。这是一个糟糕的错误错误。我应该更小心。该死。让我想起了这个:ib.path.ws/EjHqOp8O