当前位置: 代码迷 >> C语言 >> 请教一个关于指针的菜鸟问题。
  详细解决方案

请教一个关于指针的菜鸟问题。

热度:128   发布时间:2008-01-20 01:47:03.0
程序代码:
#include <stdio.h>
#include <string.h>
int ispal(char* p,char* q)
{
    return p>=q || *p==*q && ispal(p+1,q-1);
}   

int palindrome(char *s)
{
    return ispal(s,s+strlen(s)-1);
}   
int main()
{
    static char buf[1000];
    while(scanf("%s",buf)==1){
        printf("%d\n",palindrome(buf));
    }   
}   

----------------解决方案--------------------------------------------------------
程序代码:
#include <stdio.h>
#include <string.h>

int palindrome(char *s)
{
    return strcmp(s, strrev(strdup(s)))==0;
}   
int main()
{
    char buf[1000];
    while(scanf("%s",buf)==1){
        printf("%d\n",palindrome(buf));
    }   
}


[[italic] 本帖最后由 雨中飞燕 于 2008-1-20 02:08 编辑 [/italic]]
----------------解决方案--------------------------------------------------------
晕,各位大哥大姐果然很猛,一个晚上就给了我这么多答案,基本上说已经明白了,多谢各位了。
----------------解决方案--------------------------------------------------------
我也是不清楚..  不好意思
----------------解决方案--------------------------------------------------------
用两个指针,一个指向字符串的开头p1,一个指向字符串的尾部p2(用while语句),然后在判断++p1==--p2;就可以拉
----------------解决方案--------------------------------------------------------
楼上的给到点上了
----------------解决方案--------------------------------------------------------
C和指针讲的很好的
----------------解决方案--------------------------------------------------------
  相关解决方案