我正在尝试用 C 语言做一个函数,它正在检查字符串是否是回文(从乞求到结尾和向后读取的方式相同)。所以我使用该puts()
函数向后打印字符串,并在多个元素(> 7)之后打印一些不需要的字符。
我的日常是:
void isPal ( char ptr[], int i){
char array[i];
int j=0,k=0;
int l = i-1;
for (j=0; j<i ; j++){
array[j] = ptr[l]; printf("%c\t", array[j] );
printf("Character :%c -> [%d]\n", array[j],l );
l--;
}
printf("\nThe upside string is : ");
puts(array);
for (k=0; k<i ; k++){
if ( array[k] != ptr[k]){
printf("\nNot palindromic!!!\n");
return;
}
}
printf("\nIS PALINDROMIC..\n");
}
结果是准确的,但打印不正确。为什么 ?