Dav*_*Boz 0 c++ compiler-construction reverse function palindrome
我试图确定我的代码是否是回文,所以我创建了一个反向函数,然后创建了一个回文函数。我正在尝试将反转的Character数组分配给新函数,但似乎无法编译它。...有任何提示吗?这是我的回文功能
bool Palindrome(char Characters[], unsigned long length)
{
char tempstring[62];
tempstring[62] == reverse(Characters);
for(int i=0; i <= length; i++){
if(Characters[i] == tempstring[i])
return false;
else
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的反向功能
void reverse(char Characters[], unsigned long length)
{
char temp;
for(int i=0; i<length/2; i++){
temp = Characters[i];
Characters[i]=Characters[length-i-1];
Characters[length-i-1]=temp;
}
}
Run Code Online (Sandbox Code Playgroud)
首先,您有错别字;==是一个比较相等,=。你应该写
tempstring[62] = reverse(Characters);
但这仍然行不通。对于初学者来说,它reverse是一个void函数,因此它不返回值。
最快的解决方法是用
reverse(Characters, length);
Run Code Online (Sandbox Code Playgroud)
(请注意,我也length根据需要传递参数)。
最后一件事:如果您已经组织了文件,使其reverse出现在之后Palindrome,那么您需要使用以下语句转发声明 reverse:
void reverse(char Characters[], unsigned long length);
Run Code Online (Sandbox Code Playgroud)
修复了编译错误。我请您检查运行时行为。