我正在遍歷chars
的數組以進行一些操作。如果兩個相鄰的字符相同,我想「跳過」迭代。如果前面的字符相同,則跳過數組中的字符
例如x112abbca
skip ----------^
我有一些代碼,但它不是優雅的,想知道是否有人可以想到更好的方法?我在switch
聲明中有幾個case
,如果我不需要在switch
中使用if
聲明,我會很高興。
switch(ent->d_name[i])
{
if(i > 0 && ent->d_name[i] == ent->d_name[i-1])
continue;
case ' ' :
...//code omited
case '-' :
...
}
順便說一句,一個教練曾經告訴我:「除非迴避很多代碼是需要更換它們continue
的」。有沒有其他人呢? (實際上他說的相同break
s)
'繼續'在這裏就好了,國際海事組織。你的教練建議使用什麼呢?還要注意你正在比較'ent-> d_name [i-1]'到自己。 – jrok
結構編程狂熱分子不喜歡'continue'和'break'類似的原因,他們憎恨'goto':它們將他們認爲不必要的複雜性引入到控制流程中。和大多數編程思想一樣,這種觀點也有一些道理,但這些構造也可以簡化代碼並使其更易於閱讀。以個案爲基礎,就像其他所有事情一樣。 – mwigdahl
在某些(如果不是很多的話)實例(恕我直言)中,'斷點'是不可避免的,尤其是在'switch'語句中。 – ChiefTwoPencils