C語言,用陣列定義乙個字串,那這個字串是怎麼儲存在這個陣列中的呢?

時間 2021-06-17 18:32:04

1樓:the gc

對於scanf的%s的解釋如下:

Matches a sequence of non-white-space characters; the nextpointer must be a pointer to the initial element of acharacter array that is long enough to hold the input sequenceand the terminating null byte ('\0'), which is addedautomatically. The input string stops at white space or atthe maximum field width, whichever occurs first.

首先你的輸入是存在棧中的。但是你的輸入的字元個數比陣列長度大,看文件的意思是會截斷。如果不截斷就是會在陣列後面追加,導致越界。不管怎樣。保證你輸入的字元數小於陣列長度。

用malloc給乙個字串分配記憶體,返回這個字串,記憶體會洩露嗎?

xtang 如果程式從main 返回結束,或者說 程序結束 程序占用的記憶體還沒有被釋放的話,那就是作業系統有問題了。有特殊情況除外,比如共享記憶體 一般來講的程式 記憶體洩露 通常是指在程式裡申請使用記憶體後,沒有及時釋放 或者因為程式邏輯原因,無法釋放 比如記憶體指標被重置了 回到題主的問題,m...

python語言中如何判斷乙個字串有多少位?

Python2的str 編碼後的字串,在C中就是char 直接用len 查的長度便是位元組數 Python3的str 可能是UTF 16或UTF 32編碼的字串,在C中是wchar t 通常不要關心它的編碼,而抽象理解為編碼前的字串。所佔位元組數是len 的長度乘以編譯Python所用的編譯器的wc...

如何通過只翻轉乙個字串的子串對該字串進行排序?

老版題是NP很多人已經給出參考文獻了。新版題是裸dp 設len是字串strls的長度,那麼定義dp len 1 2 表示直到長度x 0 x len 最後一位strls x 1 不翻轉 翻轉 0 1 所需的最小翻轉次數。 yaoyao 反轉兩個字元的子串不就是交換兩個字元的位置嗎?這是氣泡排序呀 喵的...