關於vc中字串複製的問題

時間 2022-10-14 10:26:27

1樓:冤冤相報自非輕

j2[j+1]='\0'; j的值錯了親…… 另外,你的sc、j2都越界了,初始化記憶體的時候j1、j2、sc都是連著的,越界產生的反應。。。

sc的內存在前,之後是j2,在之後是j1,位址關係如下,第一行為sc、j2、j1的位址位置,第二行為sc的讀入,第三行為第一次給j1賦值,第四行為給j2的賦值,並把j2[13]設為了\0;下面的0表示\0,-表示為賦值。燙就是h和它後面沒賦值的char一起弄出來的。建議碰到這種問題多關注位址、賦值的關係。

字串輸出時只有碰到\0才會終止。

sc j2 j1

zero seven + eight nine =0----------------

zero seven0

eight neigh- 0

所以最後位址關係變為了:

zero seven + eight neight neigh-ze0o seven0

輸出的sc為 zero seven + eight neight neigh-ze0

輸出的j2為 eight neight-ze0

輸出的j1為 ze0

2樓:匿名使用者

位址越界,陣列沒有分配足夠的空間並且沒有初始化。

針對你的輸入,

char j1[30] = "";//其它的也30並賦初始值

c 字串中插入字元,C 字串中插入字元

include stdio.h define aac 20 define bac 20 define sac 100 int main sac j 0 printf s sac return 0 經過測試,請安心使用 凡鳥 我用str.replace 為什麼替換出來被替換的部分就成了亂碼 是兩個字元...

vc符串指標移動的問題,VC 字串指標移動的問題

方法很多,可以用迴圈遍歷一下字串,找到f並記下它的位置,然後用mid函式就可以把那串字元取出來。然後看是插入b中,還是替換b了。如果插入的話,就還得用迴圈來遍歷,將取出來的字元逐個插入。vc中有字串類cstring可用 cstring a asdfghjkl cstring b qwe b a.mi...

sql中字串的連線,SQL中字串的連線

四捨 入 在mysql中字串連線使用的是concat內建函式。concat 的語法如下 concat 字串1,字串2,字串3,將字串1 字串2 字串3,等字串連在一起。請注意,oracle的concat 只允許兩個引數 換言之,一次只能將兩個字串串連起來,不過,在oracle中,可以用 來一次串連多...

asp中如何判斷字串中是否含有子字串

string類中有乙個方法publicbooleancontains stings 就是用來判斷當前字串是否含有引數指定的字串 例s1 takecatb s2 te 語句 s1.contains s2 s1呼叫這個方法若其值為ture說明s1包含s2若為fasle則不包含 判斷乙個字串中是否含有乙個...

c語言問題字串的複製,用C語言實現字串拷貝函式有幾種方式

目標字串的長度 源字串的長度,否則會出不可預知的錯誤。這句話沒錯。你這第乙個程式執行應該是沒問題的,但是存在隱患。char c 20 b c 的意思就是把有20個字元的陣列首位址賦給了指標b 這樣b就有了指向的記憶體 而直接賦值 則只有首位址 你可以試 把陣列c賦值後 可以輸出20個不同的位址而 指...