#include<stdio.h> void main() { int palindrome(char *string); char a[20]; int q; gets(a); q=palindrome(a); printf("%d",q); } int palindrome(char *string) { int n,i,j,z; char *m; m=string; //* 将数组a的首地址赋给字符数组m *// for(;*string!='\0';string++); //* 因为string代表&a[0],string+1代表&a[1]....,所以有string++ (见图)*// n=string-m; //* string的最终地址减去首地址得出来的数赋给n,n就是我输入的字符的个数 *// for(i=0,j=n-1;i<=j;i++,j--) if(*(string+i)==*(string+j)) //* 就是指针变量所指向的那个字符是否相同,相同就返回1,否则,返回0 *// return z=1; else return z=0; } 为什么无论我输入什么字符串,它的返回值都是0?????????????