比较C中不同字符串的两个字符

标签 c string char compare equals

你好,我想用 C 语言比较不同字符串的两个字符,但它不起作用,请帮助我:

int main (void)
{

    string b="blue";
    int len=strlen(b);
    int numbers[]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25};
    string letters="abcdefghijklmnopqrstuvwxyz";
    int leng=strlen(letters);
    int key [len];


    for (int i=0; i<len;i++)
    {
        for (int j=0; j<leng;j++)
        {

            if (&b[i]==&letters[j])
            {
                //The program never comes inside here 
                key[i]=numbers[j];
            }
        }

    }

    //The result should be key[]={1,11,20,4 }
}

最佳答案

使用:

b[i]==letters[j]

代替

&b[i]== &letters[j]

后者比较指针值。

关于比较C中不同字符串的两个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21563378/

相关文章:

java - 在Java中,如何创建n个具有某些属性的字符串

java - 使用行分隔符获取额外的行

php - 如何将PHP中的字符串截断为最接近一定数量字符的单词?

c - 当传递给 C 中的函数时丢失 char**array 的内容

c++ - 为什么指向 char 数组的指针必须需要 strcpy 才能将字符分配给它的数组,而双引号分配不起作用?

无法弄清楚 C 中的中止(核心转储)

c - 如果分配失败,我应该手动调用销毁还是释放成员

c - 如何使用 C 连接到 FTP?

c - OpenMP - 没有错误共享的数组插入

C 删除char数组中的重复字符