C语言:判断一段字符串是不是回文 这么写哪错了呢?

来源:百度知道 编辑:UC知道 时间:2024/09/24 20:31:19
#include<stdio.h>
#include<string.h>
int huiwen(char *str);
main()
{
char str[20];int index=1;
printf("请输入字符串");
gets(str);
index=huiwen(str);
if(index==1)printf("该字符串是回文");
if(index==0)printf("该字符串不是回文");
}
int huiwen(char *str)
{ int i=0;
while(i<=strlen(str)/2)
{
if(*(str+i)==*str(strlen(str)-i))
i++;
else
return 0;}
}

F:\VC\Microsoft Visual Studio\MyProjects\asasa\asasa.c(15) : warning C4018: '<=' : signed/unsigned mismatch
F:\VC\Microsoft Visual Studio\MyProjects\asasa\asasa.c(17) : error C2063: 'str' : not a function

#include<stdio.h>
#include<string.h>
int huiwen(char *str);
int main()
{
char str[20];
int index=1;
printf("请输入字符串");
gets(str);
index=huiwen(str);
if(index==1)printf("该字符串是回文");
if(index==0)printf("该字符串不是回文");
return 0;
}
int huiwen(char *str)
{
int i=0;
while(i<= (int)strlen(str)/2) //////////////
{
if(*(str+i)==*(str + (strlen(str)-i) - 1)) /////////
i++;
else
return 0;
}
return 1; //////////
}