#include <stdio.h>
int main()
{
char c[20];
char d[20];
int i,len;
gets(c);
len = strlen(c);
for(i=0;i<len;i++)
{
d[len-1] = c[i];
len--;
}
int result = strcmp(c, d);
if (result < 0)
{
printf("%d\n",-1);
}
else if (result > 0)
{
printf("%d\n", 1);
}
else {
printf("%d\n", 0);
}
}
for(i=0;i<len;i++)
{
d[len-1] = c[i];
len--;
}
这里改成:
for(i=0;i<len;i++)
{
d[len-1-i] = c[i];
//len--;
}
char d[20] = {0};你嘚初始化数组值为0才行
#include <stdio.h>
int main()
{
char c[20];
char d[20] = {0};
int i,len;
gets(c);
len = strlen(c);
for(i=0;i<len;i++)
{
d[len -i - 1] = c[i];
}
int result = strcmp(c, d);
if (result < 0)
{
printf("%d\n",-1);
}
else if (result > 0)
{
printf("%d\n", 1);
}
else {
printf("%d\n", 0);
}
}
我增加了一个变量tep,把len的值赋值给tep,解决的这个问题,谢谢大家