說我有一個名爲abc [100]的整型數組。 abc只有前5個「插槽」中的值。我怎樣才能爲循環編寫一個for循環,直到循環中的最後一個值不是空的?對於具有值的數組長度的循環
int abc[100] = {1, 2, 3, 4, 5};
說我有一個名爲abc [100]的整型數組。 abc只有前5個「插槽」中的值。我怎樣才能爲循環編寫一個for循環,直到循環中的最後一個值不是空的?對於具有值的數組長度的循環
int abc[100] = {1, 2, 3, 4, 5};
在C++數組中,沒有數組元素爲「空」的概念。
這個想法根本不存在。從頭腦中抹去它。
每個數組元素始終存在。 C++中,當數組的一部分被顯式初始化並且部分未被顯式初始化時,未指定的部分默認爲零。
所以,你有效地寫道:
int abc[100] = {1, 2, 3, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0....};
如果你願意,你可以把價值0
作爲標記爲未設定值。
int i;
for(i=0; abc[i] != 0; ++i)
{
cout << "[" <<i<< "] : " << abc[i] <<endl;
}
(請注意,這意味着您的任何值都不能爲0) –
除了最後一個值必須爲'0'或您在陣列上運行外。 – JustSid
在C++中,如果你聲明數組並初始化的前幾個元素,其餘的元素將是值初始化,意思基本上是「默認構造函數」將被調用。
對於內置類型,例如int
值初始化將值設置爲零。所以如果你解決了你的數組的問題,並且只初始化前五個元素,剩下的將被初始化爲零。
你的意思是'abc'是一個數組? – 0x499602D2
你好,歡迎來到stackoverflow.com。請花些時間閱讀[幫助頁面](http://stackoverflow.com/help),尤其是名爲[「我可以問些什麼話題?」](http://stackoverflow.com/help/討論話題)和[「我應該避免問什麼類型的問題?」](http://stackoverflow.com/help/dont-ask)。更重要的是,請閱讀[Stack Overflow問題清單](http://meta.stackexchange.com/questions/156810/stack-overflow-question-checklist)。您可能還想了解[SSCCE](http://sscce.org/)是什麼。 –
使用'std :: vector'。 – 0x499602D2