华为机试vs2008测试没问题,,可是提交上去就编译错误,,有人知道原因么?

#include
#include
#define M 1024

int main(){
char str[M];
int length;
gets(str);
length=strlen(str);

for (int i = 1;i<length;i++){
    int j=i-1;
    char temp = str[i];
    if(temp<str[j]){
        for (j;j >= 0 && str[j]>temp; j--){
            str[j + 1] = str[j];
        }
        str[j + 1]=temp;
    }
}
for(int i = 0;i<length;i++){
    printf("%c", str[i]);
}
return 1;

}

错误是啥,能贴出来么?是不是用了不安全的函数gets,修改成gets_s呢?

查查你提交的代码,和你本地的代码是否一致,仔细点!

看看错误在哪里,根据提示修改