好吧,我有一個函數來檢查一個數字是否是一個迴文(尚未完成),它調用一個名爲copystring()
的函數。複製字符串函數不工作在C
如果我有
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()'? – Barmar
發佈'reversestring()'的源代碼或確保該錯誤不在該函數中。 'copystring()'適合我。 – svk
你指的是哪一個_original string_?緩衝區還是反向緩衝區?是什麼讓你覺得它是空白的?展示你的代碼來證明這一點。 – Barmar