写一被调函数int huiwen(char *p),判断一个字符串是不是回文,如果是,输出1,否则输出0.

#include<stdio.h>#include<string.h>{chars[100],*p;inti;gets(s);p=s;for(i=0;i<=strlen(... #include<stdio.h>
#include<string.h>
{
char s[100],*p;
int i;
gets(s);
p=s;
for(i=0;i<=strlen(s)/2;i++)
if(*(p+i)!=*(p+strlen(s)-i-1))
{
printf("0");
break;
}
else if(i==strlen(s)/2)
printf("1");
}
int main()
{
char str[100],*pstr;
gets(str);
pstr=str;
printf("%d", huiwen(pstr));
}

为什么我这样写就是错的。。。编译出来的结果总是错的- -
展开
 我来答
宛丘山人
2015-01-02 · 长期从事大学高等数学和计算机数据结构教学
宛丘山人
采纳数:6405 获赞数:24690

向TA提问 私信TA
展开全部

有如下错误:

  1. 无函数名,返回值类型,参数

  2. 输入重复

  3. 逻辑错误

  4. 类型错误

  建议作如下修改:

#include<stdio.h>

#include<string.h>

int huiwen(char s[])

{   int i;

    char *p=s;

    for(i=0;i<=strlen(s)/2;i++)

    if(*(p+i)!=*(p+strlen(s)-i-1))

      break;

    if(i<=strlen(s)/2) return 0;

    else return 1;

}

int main()

{

char str[100],*pstr;

gets(str);

pstr=str;

printf("%d", huiwen(pstr));

}

追问
老师,如果题目限制了huiwen(char *p)不能用(char s[])怎么弄呢
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式