#include<stdio.h>
#include<string.h>
char Palindrome(char *str);
int main()
{
char str[100],a[100];
gets(str);
Palindrome(str);
if(strcmp(str,a)==0)
printf("Yes");
else
printf("No");
return 0;
}
char Palindrome(char str)
{
int j=0,i;
char a[100];
for(i=strlen(str)-1;i>=0;i--){
(a+j)=(str+i);
j++;
}(a+j)='\0';
}

要求判断是否为回文字符串,为啥输出的都是no
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
6条回答 默认 最新
- -Undefined_ 2021-12-29 13:16关注
函数没有把数组a返回啊
#include<stdio.h> #include<string.h> char* Palindrome(char *str); int main() { char str[100]; gets(str); char *a = Palindrome(str); if(strcmp(str, a) == 0) printf("Yes"); else printf("No"); return 0; } char* Palindrome(char str[]) { int j = 0, i; char a[100]; for(i = strlen(str) - 1; i >= 0; i--) { a[j] = str[i]; j++; } a[j] = '\0'; return a; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录