【发布时间】:2014-01-09 08:46:42
【问题描述】:
好的,我有一个函数来检查一个数字是否是回文(它还没有完成),它调用一个名为copystring()的函数。
如果我有
putchar(*destination)
在copystring() 函数循环中,它按应有的方式输出目标字符串。
但是,is_palindrome 函数中的原始字符串并未被编辑。它保持空白。为什么会发生这种情况,我该如何解决?
int is_palindrome(int num)
{
char buffer[30];
char reversebuffer[30];
sprintf(buffer, "%d", num);
copystring(reversebuffer, buffer);
reversestring(reversebuffer, strlen(reversebuffer));
}
void copystring(char *destination, char *source)
{
while (*source){
*destination = *source;
++source;
++destination;
}
*destination = '\0';
}
【问题讨论】:
-
你为什么不使用标准的
strcpy()? -
发布
reversestring()的源代码或确保该错误不在该函数中。copystring()对我来说很好。 -
您指的是哪个原始字符串?
buffer还是reversebuffer?是什么让你认为它是空白的?展示你的代码来证明这一点。 -
缓冲区是原始缓冲区,我正在尝试将其内容复制到反向缓冲区中。调用 copystring() 后立即在反向缓冲区上的 printf() 没有输出
-
它对我有用codepad.org/wGYNSjVL