当前位置: 首页 > 知识库问答 >
问题:

回文函数[重复]

商琛
2023-03-14

由于某种原因,函数总是返回false。传递的词是“你好”。我的第一个循环检查没有空格或空字符的单词的大小,以便在第二个循环中使用它作为参数。这返回false,这是正确的,但是当我传递“helleh”或“helleh”时,它们都返回false。我已经重写了至少5次,我不明白为什么它会返回false。

char* isPalindromic(char inputCheck[]){
    int actWord;
    int sizeCheck = myStrLen(inputCheck);
    char tempWord[actWord];
    for(int check = 0; check <  sizeCheck; check++){
        if(inputCheck[check] = ' ' || inputCheck[check] == '\0')
            actWord = check;
    }

    for(int replace = 0; replace < actWord; replace++){
        tempWord[replace] = inputCheck[actWord - replace];
    } 

    tempWord == inputCheck ? inputCheck = "True" : inputCheck = "False";
    return inputCheck;
}

共有1个答案

百里弘致
2023-03-14
char tempWord[actWord];

actword此时未初始化。因此,您的整个程序具有未定义的行为。

tempWord == inputCheck ? inputCheck = "True" : inputCheck = "False"; 

这也是一个问题;不能像这样用==比较两个字符数组;你只是在比较它们在记忆中的位置。你必须 <罢工> 使用 为此重新实现strcmp(尽管实际上,更简单的算法版本不需要这样的逻辑)。

您不需要任何额外的缓冲区空间。您所需要做的就是同时从前面和后面迭代,比较字符。

const char* isPalindromic(const char inputCheck[])
{
    const int size = myStrLen(inputCheck);
    for (size_t i1 = 0, i2 = size-1; i1 < i2; i1++, i2--)
       if (inputCheck[i1] != inputCheck[i2])
          return "False";
    return "True";
}
 类似资料:
  • 在本教程的开始部分,就已经引入了函数的概念:《永远强大的函数》,之所以那时候就提到函数,是因为我觉得函数之重要,远远超过一般。这里,重回函数,一是复习,二是要在已经学习的基础上,对函数有更深刻的理解。 函数的基本结构 Python中的函数基本结构: def 函数名([参数列表]): 语句 几点说明: 函数名的命名规则要符合python中的命名要求。一般用小写字母和单下划线、数字

  • 我需要重写程序来使用一个函数是回文。它需要输入一个5位整数并返回一个布尔值(如果是回文则为true,如果不是回文则为false),并且不能包含任何cout语句。我不确定如果没有cout函数,我将如何做到这一点。这是我的代码:

  • 这个函数总是返回null. t是不被分配与令牌值.有人能帮助请?

  • 我在ViewDidLoad函数中有一些代码,它将在调用堆栈的末尾设置一个类变量。我试图重构代码,使其成为一个单独的函数,它将返回值,而不是设置类变量。 由于我缺乏swift知识,我不确定哪里出了问题,我的函数似乎返回得太厄尔了,因为我可以在调试器中告诉我,它在被设置为之前跳转到return。 我还可以在调试器中看到,内部函数在返回主函数后调用。 如何等待内部调用完成后再返回?或者什么是正确的快速方

  • 如您所见,它将参数和的和保存在变量中,然后将包含它们的和的eax寄存器保存在变量中,就像函数返回值一样。 这样做是因为函数是用返回值定义的吗?

  • 出于某种原因,在下面的递归函数中, 永远不递增p,也就是说字符串s永远不是一个回文,尽管在我的程序中,s确实是一个回文,次数相当少。但是在下面一行中它仍然返回false 是因为功能吗?s采用的一些值为:aaa、aba、AAAA、abbb、bab 我已确保s中没有前后空格 P、 S:我已经检查过了,x==n 示例输入: 输出0。回文:aaaaaa、abaaba、aaaaaa