我想创建一个程序来检查一个给定的数组/字符串是否是回文并且它不工作。该程序只在每个给定的阵列上打印“0”,即使在回文中也是如此。程序检查一个数组是否是回文
int main()
{
char string[100]= {0};
char stringReverse[100]= {0};
int temp = 0;
int firstLetter = 0;
int lastLetter = 0;
printf("Please enter a word or a sentence: ");
fgets(string, 100, stdin);
strcpy(stringReverse , string); // This function copies the scanned array to a new array called "stringReverse"
firstLetter = 0;
lastLetter = strlen(string) - 1; //because in array, the last cell is NULL
// This while reverses the array and insert it to a new array called "stringReverse"
while(firstLetter < lastLetter)
{
temp = stringReverse[firstLetter];
stringReverse[firstLetter] = stringReverse[lastLetter];
stringReverse[lastLetter] = temp;
firstLetter++;
lastLetter--;
}
printf("%s %s", stringReverse, string);
if (strcmp(stringReverse , string) == 0)
{
printf("1");
}
else
{
printf("0");
}
}
对于这样一个简单的任务代码太多。 –
我已经发布了类似问题的答案[这里](http://stackoverflow.com/a/33806921/4487286),你可以很容易地适应你的需求 – milevyo