(C++) 使用函数的回文数

(C++) Palindrome Numbers using Function

#include <iostream>
using namespace std;

bool pals(int n) {  



 int remainder;
 int reverse=0;



while(n>0){

remainder=n%10;
reverse=reverse*10+remainder;
n=n/10;     

}
return reverse;

}

int main() {
int nums;
cout<<"Input Desired Number: ";
cin >>nums;

if(pals(nums)) {
    cout <<nums<<" palindrome";  
}
else {
    cout <<nums<<" not a palindrome";
}
return 0;
}

如果不是,则继续返回“回文”。

我的代码中是否有遗漏或错误的地方。

任何供将来参考的提示或指示也很好。谢谢!

任何反馈都很棒!谢谢!

您的问题是因为您 return 从函数中输入一个数字并将其转换为布尔值,因此每个数字都会被截断为真值。

您应该在函数内部检查它是否是回文,return 1/0 结果或更好的布尔值。

可在以下内容中找到有关所描述行为的详尽解释 link: