试编一函数判断字符串是否为回文.若是则函数值返回1.否则返回0.

本文介绍了一个简单的C语言程序,该程序用于检查用户输入的字符串是否为回文。通过定义一个名为fun的函数来实现这一功能,该函数接受一个字符指针和一个整数作为参数,用来比较字符串两端的字符是否相同。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include <stdio.h>
#include <string.h>
int fun(char const * ptr,int j)
{
    if(j>50)
    {
        return 0;
    }
   int i;
    i=0;
    while(i<j)
    {
        printf("%c\n",ptr[j]);
        if(ptr[i]!=ptr[j])
        {
            return 0;
        }
        i++;
        j--;
    }
    return 1;
}

int main(int argc, char const *argv[])
{
    char ch[50];
    printf("please input character\n");
    scanf("%s",ch);
    int len;
    len=strlen(ch)-1;
    printf("%d\n",fun(ch,len));
    return 0;
}

好的,我来为您介绍如何使用C语言的指针函数判断字符串是否回文字符串。 以下是个使用指针函数判断回文字符串的C语言实现: ```c #include <stdio.h> #include <string.h> // 指针函数声明 int isPalindrome(char *str); int main() { char str[100]; printf("请输入字符串: "); scanf("%s", str); if(isPalindrome(str)) { printf("\"%s\" 是回文字符串\n", str); } else { printf("\"%s\" 不是回文字符串\n", str); } return 0; } // 指针函数定义 int isPalindrome(char *str) { char *start = str; char *end = str + strlen(str) - 1; while(start < end) { if(*start != *end) { return 0; // 不是回文 } start++; end--; } return 1; // 是回文 } ``` 这个程序的工作原理如下: 1. 我们定义了个名为`isPalindrome`的指针函数,它接受个字符指针作为参数。 2. 在`main`函数中,我们从用户那里获取输入字符串。 3. 然后我们调用`isPalindrome`函数,并将结果打印出来。 4. 在`isPalindrome`函数中,我们使用两个指针:`start`和`end`。`start`从字符串开头开始,`end`从字符串末尾开始。 5. 我们比较`start`和`end`指向的字符。如果它们不相等,函数返回0,表示不是回文。 6. 如果字符相等,我们将`start`指针向前移动,`end`指针向后移动,继续比较下对字符。 7. 当`start`指针不再小于`end`指针时,循环结束。如果所有对应的字符都相等,函数返回1,表示是回文。 这个方法的时间复杂度是O(n),其中n是字符串的长度,因为我们只需要遍历字符串次。空间复杂度是O(1),因为我们只使用了固定数量的额外空间。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lmory233

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值