为什么我无法在C语言中使用for循环比较两个字符串[如果字符串彼此相反]

时间:2014-07-15 17:33:34

标签: c arrays string reverse

#include<stdio.h>
#include<string.h>

int main()
{
char string1[100],string2[100];
int count,i=0,j=0;

gets(string1);
gets(string2);

for(i=0;i<strlen(string1)-1;i++)
{
for(j=strlen(string2)-1;j<0;j--)
{
    if(string1[i]==string2[j])
    {
        printf("They are reverse of each other");
    }
    else
        printf("They are not");
    }
}

}

/ *我试图通过检查string1的第一个索引和string2的最后一个索引以及递增和递减resp来检查ABC和CBA是否相等。 * /

1 个答案:

答案 0 :(得分:2)

尝试使用此代码,检查两个字符串是否相互反转。

#include<stdio.h>
#include<string.h>

int main()
{
    char s1[100],s2[100];
    int count,i=0,j=0, flag=1;
    gets(s1);
    gets(s2);
    int l1=strlen(s1), l2=strlen(s2);
    if(l1==l2)
    {
        l2--;
        for(i=0;i<l1;i++)
        {
            if(s1[i]!=s2[l2-i])
            {
                flag=0;
                break;
            }
        }
    if(flag)
        printf("Both are reverse to each other\n");
    else
        printf("Not revrese to each other\n");
    }
    else
        printf("Not revrese to each other\n");
}