在寫kmp演算法時,我寫了個這樣的條件判斷迴圈
while
(i<
strlen
(a)&&j<
strlen
(s))
//這是錯的!!!
然後出現了乙個百思不得其解的問題。當j=-1時,直接跳出迴圈。查了半天才知道是函式問題。
現在我們來看一下strlen函式原型。
extern
unsigned
intstrlen
(char
*s);
在visual c++
6.0或dev-c++中,原型為
size_t strlen
(const
char
*string)
;其中size_t實際上是unsigned
int
計算給定字串的(unsigned int型)
長度,就是這一點!!!
它的返回值是乙個 unsigned int 型別。j在此建議使用strlen函式的值作為條件迴圈時,應先賦值給int型別,或者使用c++中的string。
謹以此博文告誡自己!!!
在條件判斷中使用 all any
all 和any 兩個函式非常適合在條件判斷中使用。這兩個函式接受乙個可迭代物件,返回乙個布林值,其中 假如我們有下面這段 def all numbers gt 10 numbers 僅當序列中所有數字大於 10 時,返回 true if not numbers return false for n...
React中使用if else 條件判斷
在react中用jsx渲染dom的時候經常會遇到if條件判斷,然而在jsx中竟是不允許if條件判斷的。以下有幾種判斷方式,可以根據自己的應用場景,挑選適合的。方案一 class hellomessage extends react.component else return 方案二 class he...
sql中使用if多條件判斷
1 以一表為例 bill 單據表 id billno status amount create date 1 gr0001 gr 155 2009 09 09 2 do0001 do 150 2009 09 09 2 so0001 so 153 2009 09 09 說明 status gr表示 進...