1樓:匿名使用者
這裡需要注意幾點
一個漢字字元佔用兩個位元組
\065,\t,\n是轉義字元,佔一個位元組字串儲存時末尾多一個'\0'表示字串的結束,佔一個位元組strlen統計字串長度,遇到'\0'結束,之後的就不統計了,並且這個長度不包含'\0'
所以數一數這個字串佔13個位元組,這個字串的長度是12
2樓:
這顯然是錯題,char s=""char s="\065\t\"\xe4\n"";這樣的定義連編譯都過不了。如果是char s="\065\t\"\xe4\n";這樣的話,輸出也不會是
「12,13」而應該是「5,6」。因為\065是八進位制ascii碼字元'5'(十進位制53),\t是製表符,\"表示雙引號的一邊,\xe4是十六進位制ascii碼字元(這個ascii碼是十進位制228,多數平臺不能輸出,但佔一個位元組),\n是回車;系統還會自動在\n後加一個'\0'表示字串結束。由於strlen測出來的是不包括最後的'\0'的長度,從上面的分析當然是5;而sizeof測出來的是系統為這個字串分配的字元數,當然要算進去最後的'\0',所以是6。
c語言寫函式求字串的長度在main函式
1.迴圈讀取,直到為 0 時,則是字串結尾。include 計算字串str長度,並返回 回int lenstr const char str int main include int longs char s void main 程式已經 dao修改了,可以回執行,主要錯誤答已經標出 傳入引數應該是...
用js寫函式,計算出字串的長度
gbk字符集實際長度計算 function getstrleng str else return reallength utf8字符集實際長度計算 function getstrleng str else return reallength 在js中字串的長度不分中英文字元,每一個字元都算一個長度,...
輸出僅由0和1組成的長度為n的字串,並且其中不可含有連續的相同
note yourchoiceiscide include stdio.h definemax1000voidfun intn,char str else voidmain intn printf 請輸入n varf array 100.100 of longint i,n longint begi...