Qsort没有排序char *数组

时间:2016-12-05 10:15:03

标签: c arrays char qsort

我遇到了一个问题,即qsort有时会对某些内容进行排序,有时候它并没有。这是我的代码

func LoadFecth() {

    let ordenacaoAZ = NSSortDescriptor(key: "nome", ascending: true)
    let ordenacaoAZPrecep = NSSortDescriptor(key: "preceptor", ascending: true)
    let recupoerardados = NSFetchRequest<NSFetchRequestResult>(entityName: "AlunosLista")
    recupoerardados.sortDescriptors = [ordenacaoAZPrecep, ordenacaoAZ]

    do{

    let recupera = try gerenciadorDeDados?.fetch(recupoerardados)
        self.alunos = recupera as! [NSManagedObject]
        self.tableView.reloadData()
    }catch let erro as NSError{
        print("Erro ao carregar: \(erro.description)")
    }
}

它适用于示例{ccc,bbb,aaa},但不适用于示例{afdg,sspade,trekk,bbre,lol}

1 个答案:

答案 0 :(得分:2)

scanf在输入缓冲区中留下了一个换行符,该换行符由第一个gets读取。

这两个循环迭代次数太多,将数组索引超出其边界。我想你这样做是为了获得正确的表观输入数量。

在第一个循环之前清除输入,可能是读取一个虚拟字符串,并纠正循环控制。

另请注意,gets()现已过时。