C語言問題

時間 2022-04-12 20:30:09

1樓:匿名使用者

倘若str(i)不是要刪除的字元,則str(j++)=str(i),即把str(i)的字元複製到str(j)中,然後j自增。直到str(i)為結束字元

str(j)='\0' 是由於str(i)已經被查詢完畢了,這是要給刪除後的字串乙個結束符。我把程式括起來或許好理解點

for(i=j=0;str(i)=!'\0';i++)str(j)='\0'

printf("%c",str)

2樓:匿名使用者

//程式如下

#include //字串中刪除指定字元void delete(char *p)

}main()

//自己寫的 除錯成功 結果正確

3樓:匿名使用者

分號位置不對吧。

不等於可以這樣寫嗎?

其實他的意思是,如果和ch不相同,就拷貝。

如果相同就跳過。這樣結果裡就不可能有ch 了。

小技巧。

2個計數器,i和j,乙個是掃瞄的位置(拷貝源)乙個是現有結果的最後位置(拷貝目的)

最後加\0是字串的結尾標誌。必須有。

實在不懂就單步執行,跟蹤一下數值吧。

c語言問題,C語言問題。

考驕 用指標將兩個字串連結接起來,前一個while迴圈,確定s1字串走完,第二個while開始將s1的逐個字元複製給s1走完,也就是末尾,這樣就可以把字串都匯入到s1中 最後一個空寫的應該寫return s1 長魚修韋 很久沒碰這東西了。我來解釋下 第一個while的迴圈是為了讓指標指向第一個字串的...

C語言問題,c語言問題?

自我程式設計 列印輸出乙個ok。因為前面迴圈for語句有分號結束。所以後面的printf語句不在迴圈內,不受迴圈語句影響。 理佑平鄲胭 結果是22 7 7 8 22 你可以將 i i i i是先 1再計算,還有這裡的運算順序是從左到右,所以應該是7 7 i 14 8 22 前兩個相加時,i先加1,加...

c語言問題,C語言問題?

這個問題說難不難,但理解可能有點玄乎而已,但是打個比方來理解就太容易掌握啦!就是說scanf的認定讀取,比如你單純的scanf c ch 那麼實際上已經認定了第乙個字元出現就把它賦予給ch,如果是你的scanf c 前面多了乙個空格,所以就認定了出現第乙個空格後的字元賦予給ch,如果寫成這樣 sca...