[我编写了回文函数,对于不认识的人,这意味着该函数接受一个词/短语/句子,如果该词/短语/句子与相同的字符串相反,则返回true。
由于某种原因,我的函数仅适用于没有空格的情况。
[isPalindrome("madam")
返回正确的true
。
isPalindrome("nurses run")
返回[[0]正确的false
这里是功能:
#include <stdbool.h>
bool isPalindrome(char* str){
char* ptr;
char* aux;
ptr = str;
while (*ptr != '\0') {
++ptr;
}
--ptr;
for (aux = str; ptr >= aux;) {
if (*ptr == *aux) {
--ptr;
aux++;
}
else{
break;
}
}
if (aux > ptr){
return true;
}
else{
return false;
}
}
呼叫/驱动程序代码:
printf("Question 6a: %s\n", isPalindrome("nurses run") ? "true" : "false"); // prints false - not expected
printf("Question 6b: %s\n", isPalindrome("madam") ? "true" : "false"); // prints true as expected
有什么方法可以容纳原始字符串中的空格?
我编写了回文功能,对于不认识的人来说,这意味着该功能接受一个词/短语/句子,如果该词/短语/句子是相同的字符串,则返回true。对于...
"testset"
将是回文,而"tEstset"
则不是。 ^至于“遍历”,我知道您不需要空格,但是您可以创建一个没有空格的临时字符串。您知道字符串的最大大小,因此可以进行分配/分配。