将strcmp与Array of Index一起使用

时间:2014-03-13 18:10:59

标签: c string strcmp

我正在尝试将字符串串起来但

  1. 编译器给出无法将Char转换为15,18行的常量char;
  2. 编译器给出不能将Char转换为19,20行的Char; 找不到这个有什么问题?

    int main () 
    { 
        int i=0; 
        int j=0;
        int space = 0; 
    
        char cmp[50]; 
        char *p[50][100];
    
        for (i=0;i<space;i++) { 
            for ( j = i + 1;j <=space; j++ ) { 
                if( (strcmp(p[i],p[j])=0)) //15 {  
                    strcpy (cmp,p[i]); //18
                    strcpy (p[i],p[j] ); //19
                    strcpy(p[j], cmp); //20
                } 
            }
        }
    }
    

2 个答案:

答案 0 :(得分:2)

试试这段代码。 但是让我告诉你这个代码交换相同的字符串,如果空间的值是一些正数,也是如此。

int main () 
{

    int i=0; 
    int j=0;
    int space = 0; //i hope you initialized value of space to different number.

    char cmp[50]; 
    char p[50][100];// do not use *p[50][100]

    for (i=0;i<space;i++) { 
        for ( j = i + 1;j <=space; j++ ) { 
            if( (strcmp(p[i],p[j])==0))  {  //use == for comparison.
                strcpy (cmp,p[i]); 
                strcpy (p[i],p[j] ); 
                strcpy(p[j], cmp); 
            } 
        }
    }
}

答案 1 :(得分:1)

这么多问题......

for (i=0;i<space;i++) { 

您认为space的价值是什么? 如果space为零,您认为此循环将运行多少次? 您想要运行多少次?