在用遞迴寫strlen函式時,感覺道理很簡單(判斷一下字串最後乙個字元'\0')這個程式就出了
但是在我的程式中卻出了錯,我除錯不出來錯誤,程式很短,肉眼看了好多遍,最後更是在網上找到**,一步一步找.
這就是我的**:(錯誤**)
#include #include int strlen( char* str)
return 1 + strlen(str+1);
} int main()
很無奈的最後發現我把 '\0'寫成了'/0'.
'\0'是字串中的最後乙個隱藏字元,『它在字串中標誌著結尾,系統讀這個字串就會一直往後讀,讀到'\0'位置 .
C在字串後面加 0和0
使用複製字串時,經常會遇到字串後面跟著一大堆莫名其妙的字串,例如屯屯屯 之類的東西,這是因為在使用字串時沒有在字串結尾加 0或0。通常分配一塊記憶體到堆上或棧上時,記憶體區域可能會有之前使用的其他殘留字元資料,這時候需要我們手動清理一下,使用memset函式即可達到我們的要求,通常會把整個新分配的字...
在C語言中的字串
1.如果在定義字元陣列時不進行初始化,則陣列中各元素的值是不可預料的。2.如果花括號中提供的初值個數 即字元個數 大於陣列長度,則按語法錯誤處理。3.如果初值個數小於陣列長度,則只將這些字元賦給陣列中前面那些元素,其餘的元素自動定位 空字元 即 0 char c 10 這個字元陣列一共有9個字元,但...
C語言錯誤之字串的輸出
define crt secure no warnings include struct person int main printf s,d,c person.name 20 person.num,person.return0 看似正確,但輸不出結果,原因是在此處犯了乙個非常簡單的錯誤。如何查錯 ...