1樓:145飛雪
i和j不是同時移動的,只有當不等於y的時候才是,如果改為同時移動就沒意義了。
例如 accd c
1=0,j=0
1=1,j=1
1=2,j=1
1=3,j=2
char fun(char x,char y)//形參x代表需要進行操作的字串陣列,
x[j]='\0';//給新字串陣列末尾加'\0'}
2樓:閒餘追溯
char fun(char x,char y)————————用x、y分別接收主函式的a和b的值!
x[j]='\0'; ————迴圈執行結束,給新陣列x[j]加結束符!這一點挺容易漏掉!多注意!
} 如果你將x[j++]=x[i];改為x[j]=x[i];x[j]就沒什麼意義了,相當於一個數,最後也只能得到最後一次迴圈的值。因為for(i=0,j=0;x[i]!='\0';i++)裡面沒有j++;這個條件,所以如果你改為x[j]=x[i];j的值只是為0;沒有變化了!
而此程式的的作用應該是將陣列x中與主函式中b的值相等的元素去掉組成一個新陣列。
3樓:匿名使用者
子函式的作用是:刪除x字元陣列中與y字元相同的元素。
整個函式實現的是輸入一個字元陣列a,並輸入一個字元b,將字元b與陣列a進行比較,相同的就跳過,不相同的就保留,最終實現將字元陣列中與輸入字元相同的元素刪除。
補充回答:
x[j++]=x[i];
注意i和j都是指陣列的下標,它對應的是一個儲存空間,在x[i]!=y的情況下,x[j]==x[i]的,一旦遇到x[i]==y的情況後,下標i就大於下標j了,而我們需要的是使他們相等,所以將x[j++]=x[i],這裡其實包括兩句:x[j]=x[i];j++;。
你的想法是完全對的,注意大小寫就可以了。
C語言中d是什麼意思,C語言裡面的 ld d U都是什麼意思啊?
月兒 c 語言中 是一種表達方式,程式設計,自然也就有輸入輸出,那麼每一座城樓總也會需要進行一個安檢,所以 主要辨別個種資料型別的一種表達方式。方法 步驟 f,f,e,e,g,g 用來輸入實數,可以用小數形式或指數形式輸入。int c 1.2 int c 400 int c 55.434343 c ...
請問C語言怎麼把函式放在標頭檔案裡面呢
一般的做法是,標頭檔案裡寫函式的宣告,而實現寫在.c檔案裡 你可以建立標頭檔案,標頭檔案是以 h 結尾的檔名,而main 函式所在的檔案則是以 c 結尾的,c 字尾的檔案內部,也就是main函式內部主要是呼叫各個功能函式,函式的宣告部分一般放在在 h 字尾的標頭檔案中,這樣是為了實現c語言的結構化,...
有誰能幫我把下面的C語言程式改成c 程式嗎
c 程式 include using namespace std struct elem void main else cin temp 刪除偶數 tempp head while null tempp else deletep tempp tempp tempp next if 0 deletep...