gpt4 book ai didi

c - 为什么我的回文函数总是返回 1?

转载 作者:太空宇宙 更新时间:2023-11-04 01:10:06 24 4
gpt4 key购买 nike

我正在为我的家庭作业编写一个函数,该函数应该判断给定的字符串是否为回文。尽管我什至用“otto”这个词在纸上试过,但我的程序总是返回 1。虽然这是一个很常见的问题,但我真的很想知道我做错了什么,而不是仅仅从这里复制解决方案。

int is_palindrom(const char* palin)
{
int size = strlen(palin), i=0;
for (i=0;i<=(size/2); ++i)
{
if(palin[i] != palin[(size - i -1)])
{
return 1;
}
}
return 0;
}

最佳答案

您的代码是正确的,但是请注意您可能有一个反转的逻辑表达式。如果 相等,则返回 1,如果相等,则返回 0。这意味着您的函数的工作方式与“标准”C 函数相反,其中 1 的计算结果为 true

显然,您可以自由使用您喜欢的任何值来表示您想要的任何值。但是,如果其他人正在阅读您的代码,这很容易导致混淆。如果 bool 可用,您应该使用它;否则,您应该始终假设 1 为真,0 为假。

此外,请务必注意 is_palindrome 采用的是 string 而不是整数。

即您必须将其称为 is_palindrome("767")不是 is_palindrome(767)

关于c - 为什么我的回文函数总是返回 1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14480462/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com