在32位編譯系統中,字符型變量占1個字節,則sizeof("\0") 、strlen("\0")分別為()A.1 2 B.2 1 C.2 0 D. 2 2
求大俠詳細解釋
sizeof("\0")=2
sizeof是編譯器在編譯時計算,計算括號中內容的大小,注意,這和地址沒關系,因為這發生在編譯期
那麼"\0"是多大呢?\0是1個字符,再加上一個字符結束符(也是\0),共2個。
如果有疑問的話,自己試一下sizeof("a"),sizeof("\0a")等就明白了,從這裡可以發現,字符串中間是可以有\0的。
strlen("\0")=0
這個只要知道strlen是怎麼計算字符串長度的就可以很容易得出答案了,該"\0"大小為2,且兩個都是\0,遇到第一個\0就結束了,所以是0