写完javaC语言忘完了

如何判断组成字母相同但顺序不同的两个字符串
C语言解答,谢谢各位了



```c

#include "stdio.h"
#include "string.h"
int main()
{
    char str1[1000]={0},str2[1000]={0};
    int ch1[26]={0},ch2[26]={0},k=0,z=0;
    gets(str1);
    gets(str2);
    if(strlen(str1)==strlen(str2))
    {
        for(int i=0;i<strlen(str1);i++)
        {
            ch1[str1[i]-97]++;
            ch2[str2[i]-97]++;
        }
        for(int i=0;i<26;i++)
        {
            if(ch1[i]!=ch2[i]) k++;
        }
        if(k==0) 
        {
            for(int i=0;i<strlen(str1);i++)
            {
                if(str1[i]!=str2[i]) z++;
             }
             if(z==0) printf("\n两组字符串完全相同") ;
             else printf("\n两组字符串组成字母相同,但排列顺序不同,") ;
        }
        else printf("\n两组字符串不相同");
    }
    else printf("\n两组字符串不相同");
    return 0;
}

```