由于某种原因,函数总是返回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;
}
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