C++;不起作用 我要求使用VisualStudio实现C++上的函数,给出输入: char* palabras[] = {"Soy","eMMA","Este","ES","UN","EjErCiCiO","PARA","FAMILIaRIZARSE","CON","EL","manejo","DE","CADENAS"};

C++;不起作用 我要求使用VisualStudio实现C++上的函数,给出输入: char* palabras[] = {"Soy","eMMA","Este","ES","UN","EjErCiCiO","PARA","FAMILIaRIZARSE","CON","EL","manejo","DE","CADENAS"};,c++,arrays,visual-studio-2010,char,bubble-sort,C++,Arrays,Visual Studio 2010,Char,Bubble Sort,我必须按字母顺序排列字符串(不区分大小写),而不使用排序函数。这是我的方法: char ** Ordenar(char **vecStr, unsigned int largo) { char * temp; for (int i=1; i<largo; i++){ for(int j=0 ; j<largo - 1; j++){ if (strcmpi(vecStr[j],vecStr[j+1])>0){

我必须按字母顺序排列字符串(不区分大小写),而不使用排序函数。这是我的方法:

 char ** Ordenar(char **vecStr, unsigned int largo)
{
    char * temp;
    for (int i=1; i<largo; i++){
        for(int j=0 ; j<largo - 1; j++){
            if (strcmpi(vecStr[j],vecStr[j+1])>0){
            temp = vecStr[j];
            vecStr[j] = vecStr[j+1];
            vecStr[j+1] = temp;
            }
        }
    }
    //This is just to show the array
    cout << "Strings ordenados =";
    for(int i=0; i<largo; i++){
        cout << "   "<<vecStr[i];
    }
    cout << endl;
    return vecStr;
}
char**Ordenar(char**vecStr,unsigned int-largo)
{
字符*温度;

对于(int i=1;i)为什么不使用strcmp()系列中的函数(如strcmpi()或类似函数)来进行比较。对于复制C样式字符串,请使用strcpy()进行比较。可能是因为这样一句话:
我被要求在C++
上实现一个函数,这意味着这可能是一个家庭作业,这意味着使用外部库无法达到目的。@zero298-那么OP为什么要使用tolower()尝试用C++函数编写任何代码都是不可能的,如果不是不切实际的话。代码在VS2012中运行,也许错误在代码的其他部分。我认为,代码中没有错误。它实际上是“冒泡排序”的有效实现。.数组初始化、数组遍历和指针操作都是正确的。因此,如果出现错误,应该在项目配置或未显示的代码中。