讨论/题目交流/关于「409. 最长回文串」的问题/
关于「409. 最长回文串」的问题

在下在codeblock里测试坛友分享的程序。有个程序是这样的,

char * longestPalindrome(char* s)
{
    int startIdx,endIdx;
    *(s+endIdx+1)='\0';
    len = strlen(s);
    return &s[startIdx];
}
char *s1 = "adccdaaw";
char *s2 = "adccdaaw";
int main()
{
    int i,j,k,len;
    s2=longestPalindrome(s1);
    len = strlen(s2);
    for(i=0;i<len;i++)
      printf("%c",*(s2+i));
    while(1);
}

*(s+endIdx+1)='\0';
这一句,debug时候会错,不知是什么原因,指针可以这样赋值的吧?还是编译器不支持不定长的数组之类的原因导致的?

展开讨论
lcby发起于 2019-09-17
最近编辑于 2019-09-17
共 1 个讨论

endIdx没有初始化吧