字串問題

2021-05-09 19:02:27 字數 433 閱讀 9469

char str1="abcd";

char str2="efgh";

*str1=*str2;

這個操作是合法的,結果也是正確的;

這兩個字串都是儲存在棧上,可以修改其中的內容。其中,*str1=*str2相當於把str2字串的第乙個字元'e'賦給了str1的第乙個字元,因此,str1就變成了"ebcd"

但是如果用字串指標宣告:

char *str1="abcd";

char *str2="efgh";

*str1=*str2;

執行時會出現記憶體錯誤

以上兩個字串都是存在於靜態記憶體區域(const char *型)。對於該區域可以進行讀操作,但是賦值的行為是不確定的。也就是成功與否未定義,不同的編譯器可能結果不一樣。

所以,不要進行這樣的操作,因為你不知道這樣操作的確定性結果。

字串問題 翻轉字串

題目 給定乙個字元型別的陣列chas,請在單詞間做逆序調整,只要做到單詞順序逆序即可,對空格的位置沒有特別要求。例如把chas看成字串為 i love you 調整成 you love i 補充題目 給定乙個字元型別的陣列chas和乙個整數size,請把大小為size的左半區整體移到右半區,右半區整...

字串問題

ll是什麼?這都不知道的話,別說自己是程式猿啊!longlong?肯定是lovelive啊!qwb為了檢驗你是否是真正的程式猿,決定出道題考考你 現在程式會輸入一行字串,如果恰好是lovelive 不區分大小寫 就輸出yes,否則輸出no。輸入有多組 組數不超過100 每組輸入一行字串 字串長度不超...

字串問題

輸入問題 題目 tex中的引號 在tex中,左雙引號是 右雙引號是 輸入一篇包含雙引號的文章,你的任務是把它轉換成tex的格式。樣例輸入 to be or not to be,queth the bard,that is the question 樣例輸出 to be or not to be,qu...