為什麼我這樣操作指標會發生「段錯誤」

2022-08-30 07:05:13 字數 630 閱讀 3292

1樓:

知道你最後這兩個嗎?

*(p1+i)='\0';

*(p2+i)='\0';

明顯錯了.越界了.並不能付值.這不是乙個陣列.要區分.

只有4個位元組的指標.

還有乙個最嚴重的錯誤:

char *str1="abcdefg";

char *str2="hijklmn";

是指向常字串的指標....

不可能改字串的內容的.多注意c

你這個直接交換個指標就行了.

assert(str2);

char *psztemp = null;

psztemp = str2;

str2 = str1;

str1 = psztemp;

以前華為的經典面試題有個strcpy函式的寫法的,對記憶體操作比較關注.

看看去吧.

2樓:匿名使用者

void fun(char **s1,char **s2)

void main()

試一下我的,其實不需要像你那麼麻煩,指標我到現在還沒有搞明白,因為指標本身就很繞人,而且像你這樣寫的話有缺陷,要交換的長度一定要一樣,我這個沒有問題,你好好研究指標吧

為什麼會發生這麼奇怪的事情,為什麼會發生這麼奇怪的事情?

這種情況其實是心理的問題,說實話應該去看看心理醫生了,因為這是乙個現代社會對女性的一種冷淡,說出去對,作為自己乙個男人來說是很傷自尊的,悄悄的把它治好從性格上來說,你屬於乙個內向型的人,這種內向型性格,更需要有第三個人參與進來,幫你解決這種內在的心理矛盾,讓你走出這種情感糾結的事情。日有所思夜有所夢...

為什麼會發生經濟危機?為什麼會發生經濟危機的?

經濟危機是怎麼產生的?可從來沒說我們國家遭受了經濟危機,現在是 金融危機 哈哈。當然是自己騙自己。曾幾何時,我們還在驚嘆,我國怎麼會有人失業,失業不是資本主義的事情嘛?社會主義怎麼會有失業。很不巧,這次我們國家的失業率似乎比世界主流資本主義國家還要高一點。不要管什麼社會主義資本主義。現在全球的生產已...

為什麼會發生區域性短路

電源功率有限,輸出的總電流是有限的,你不能不考慮電源啊。如1.5v的5號乾電池,你接一個1歐的電阻它也不可能輸出1.5a的電流。結果如a981652的回答 另外事實上電源本身都存在一個內阻,相當於和外部電器串聯,外部電器短路後,電阻遠遠小於電源內阻,表現為串連電路的電壓與電阻的關係。雖然感覺怪怪的,...