求助 判断一个字符串s 一个字符串t 是否s=t+t 为什么我输入到8就runtime error

#include<stdio.h>
#include<string.h>
int main()
{
    int    N,i,j;
    char S[100]={0},T[50]={0};
    printf("input N: ");
        scanf("%d",&N);
    printf("input S: ");
        scanf("%s",S);[img=https://img-bbs.csdn.net/upload/202105/08/1620460591_114709.png][/img]
    if(strlen(S)!=N)
    {
        printf("error\n");
        printf("input S: ");
            scanf("%s",S);
    }
    for(i=0;i<N/2;i++) T[i]=S[i];
    if(strcmp(S,strcat(T,T))==0) printf("yes");
    else printf("no");
    return 0;
}

 

 if(strcmp(S,strcat(T,T))==0) 这是想做什么呀?

其实完全不用strcmp,也不用拷贝到T. 直接在循环里面一个个字符比较就可以了。

 

#include<stdio.h>
#include<string.h>
int main()
{
    int    N,i,j;
    char S[101];
    printf("input N: ");
        scanf("%d",&N);
    printf("input S: ");
        scanf("%s",S);
    if(strlen(S)!=N)
    {
        printf("error\n");
        printf("input S: ");
            scanf("%s",S);
    }
    if (N % 2 == 1)
    {
        printf("no");
        return 0;
    }
    for(i = 0; i<N/2; ++i) 
    {
        if (S[i] != S[i + N/2])
        {
            printf("no");
            return 0;
        }
    }
    printf("yes");
    return 0;
}

// Output
input N: 6                                                                                                                                                                         
input S: abcabc                                                                                                                                                                    
yes

input N: 6                                                                                                                                                                         
input S: abcabc                                                                                                                                                                    
yes

 

 if(strlen(S)!=N)---这不应该用while(strlen(S) != N)么?

测试了一下,没问题啊

希望对你有帮助:https://blog.csdn.net/it_xiangqiang/category_10581430.html
希望对你有帮助:https://blog.csdn.net/it_xiangqiang/category_10768339.html