#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';
}
函数没有把数组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;
}
把代码按代码块的格式放上来
#include <stdio.h>
#include <string.h>
void *Palindrome(char *str, char *a);
int main()
{
char str[100], a[100];
gets(str);
Palindrome(str, a);
if (strcmp(str, a) == 0)
printf("Yes");
else
printf("No");
return 0;
}
void *Palindrome(char *str, char *a)
{
int j = 0, i;
for (i = strlen(str) - 1; i >= 0; i--)
{
*(a + j) = *(str + i);
j++;
}
*(a + j) = '\0';
}
#include<stdio.h>
#include<string.h>
char* Palindrome(char str[]);
int main()
{
char str[100], *a;
gets_s(str);
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;
}
改成这样
#include<stdio.h>
#include<string.h>
void Palindrome(char *str);
int main()
{
char str[100],a[100];
gets(str);
strcpy(a,str);
Palindrome(str);
//puts(str);puts(a);
if(strcmp(str,a)==0)
printf("Yes");
else
printf("No");
return 0;
}
void Palindrome(char *str)
{
int j=0,i;
//char a[100];
int len=strlen(str);
//printf("%d\n",len);
for(i=0; i<len/2; i++)
{
//(str+i)=(str+(len-1-i));
//printf("%c %c\n",str[i],str[len-1-i]);
char t=str[i];
str[i]=str[len-1-i];
str[len-1-i]=t;
}
//(a+j)='\0';
}
修改如下,供参考:
#include<stdio.h>
#include<string.h>
char *Palindrome(char* str); //修改
int main()
{
char str[100], a[100];
gets(str);
strcpy(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;
}