为什么将所有数据值初始化为 0

Why is it initialising all the data values to 0?

本文关键字:初始化 数据 为什么      更新时间:2023-10-16
#include <iostream>
#include <algorithm>
using namespace std;
class myclass
{
    public: 
    int start;
    int end;
};
bool comp (const myclass &a,const myclass &b )
{   
    return a.start < b.start;
}
int main (void)
{
    int n,temp,t,l,r,i,j;
    cin>>t; 
    while ( t != 0 )
    {
        cin>>n;
        temp = n;
        i = 0;
        myclass arr[100000];
        while ( temp != 0 )
        {       
            cin>>l>>r;
            arr[i].start = l;
            arr[i].end = r;
            i++;
            temp--;
        }
        for ( j = 0; j < i; j++ )
            cout<<arr[i].start<<" "<<arr[i].end<<"n";
        cout<<"n";
        sort(arr,arr+i,comp);
        for ( j = 0; j < i; j++ )
            cout<<arr[i].start<<" "<<arr[i].end<<"n";
    t--;
    }
    return 0;
}

我已经创建了一个类,我正在尝试扫描 myclass 数组中的值。但是,当我打印我输入的值时,它显示所有 0。输入值后,我必须对值进行排序,但问题是输入没有在我制作的自定义类的数组中正确获取。我做错了什么?

[i]更改为[j] 在以下循环中:

for ( j = 0; j < i; j++ )
    cout<<arr[j].start<<" "<<arr[j].end<<"n";