我这个排序运行报错,但我又找不到哪里有问题

#include<stdio.h>
#include<stdlib.h>
struct Arr
{
int arr[9];
int len;
};
void bubbleSort(Arr *T)
{
int i,j;
for(i=0;ilen;i++)
{
for(j=0;jlen-i-1;j++)
{
if(T->arr[j]>T->arr[j+1])
{
int temp=T->arr[j+1];
T->arr[j+1]=T->arr[j];
T->arr[j]=temp;
}
}
}
}
void printSort(Arr *T)
{
int i;
for(i=0;ilen;i++)
{
printf("%d",T->arr[i]);
}
}
void main()
{
struct Arr T={{1,3,4,9,7,6,8,2,5},9};
bubbleSort(&T);
printSort(&T);
system("pause");
}

img

你这种问题属于编译器的问题,可以新建工程试试,或则关闭所有运行窗口试一下。

报错信息贴出来看看吧

#include<stdio.h>
#include<stdlib.h>
struct Arr
{
    int arr[9];
    int len;
};
void bubbleSort(Arr *T)
{
    int i,j;
    for(i=0;i<T->len;i++)
    {
        for(j=0;j<T->len-i-1;j++)
        {
            if(T->arr[j]>T->arr[j+1])
            {
                int temp=T->arr[j+1];
                T->arr[j+1]=T->arr[j];
                T->arr[j]=temp;
            }
        }
    }
}
void printSort(Arr *T)
{
    int i;
    for(i=0;i<T->len;i++)
    {
        printf("%d",T->arr[i]);
    }
}
void main()
{
    struct Arr T={{1,3,4,9,7,6,8,2,5},9};
    bubbleSort(&T);
    printSort(&T);
    system("pause");
}

代码没有问题。