我使用下面的代碼對整數數組進行迴文檢查,並將變量'declare'的值用作迴文檢查。我使用的技術是,如果declare在最後是1,數組是迴文,否則不是。但它不工作。在代碼結束時,它始終保持已初始化的declare的值,而與代碼的其餘部分無關。請調試。C++ Integer Array Palindrome Checker
#include <iostream>
using namespace std;
void main()
{
int array1[3] = {0,0,1};
int j = 2;
cout << "Given Array is:\n";
for (int i = 0; i < 3; i++)
cout << array1[i];
cout << endl;
int determiner[3];
for (int i = 0; i <3; i++){
determiner[j] = array1[i];
j -= 1;
}
cout << "Reversed Array is:\n";
for (int i = 0; i < 3; i++)
cout << determiner[i];
cout << endl;
int declare;
for (int u = 0; u < 3; u++)
{
if (array1[u] = determiner[u])
{
declare = 1;
}
if (array1[u] != determiner[u])
{
declare = 0;
break;
}
}
cout << endl;
cout << declare<< endl;
if (declare==1)
cout << "Given Array is Palindrome. Cheers!!!\n";
if (declare==0)
cout << "Emhmm! This aint Palindrome.\n";
system("pause");
}
歡迎來到Stack Overflow!這聽起來像你可能需要學習如何使用調試器來遍歷代碼。使用一個好的調試器,您可以逐行執行您的程序,並查看它與您期望的偏離的位置。如果你打算做任何編程,這是一個重要的工具。進一步閱讀:** [如何調試小程序](http://ericlippert.com/2014/03/05/how-to-debug-small-programs/)** – NathanOliver
我投票結束此問題爲因爲我們**不是**調試服務。 – NathanOliver
請注意,在全局名稱空間中聲明'void main()'在標準C++中是非法的。你應該使用標準的'int main(void)',除非你有任何特殊的理由使用非標準聲明。 – MikeCAT