1樓:匿名使用者
大概看了看,我覺得你是先把w[d++]=w[i],把w陣列p以後的防到了w陣列的前面,然後你企圖把陣列c中的前p個再繼續放到w陣列的後面去。
但是你在創造c的時候只是「c=w;」,這樣的話只是複製了指標,並沒有複製陣列,也就是說指標c和指標w指向同一塊記憶體區域,這樣你改變了w陣列的時候同時也改變了c,這樣你打出來的結果就是w陣列的最後p個數字是原來w陣列的w[p+1]到w[2p+1]。
要改正的話就是在創造一個陣列,把w一個一個複製過去。
我覺得是這個問題,c在這裡不是一個陣列,而是指標。
2樓:淼淼淡淡
錯了!你把*w改為w,就對了,指標怎麼可以變為陣列呢!陣列的名可以表示陣列的首地址!
void fun(int w,int n,int p)
3樓:匿名使用者
c和w是指向同一地點的指標
所以第一個for已經把該陣列0-p改變了
第二個for想進行交換已經沒有意義了,實際是是把p+1,...n的內容又複製回原處而已
4樓:匿名使用者
void fun(int*w,int n, int p)
5樓:匿名使用者
int i,j,d=0,*c;
改成int i,j,d=0;
int *c;
C語言,此題為什麼在時就停止了,急急急,C語言程式沒有錯誤,為什麼程式執行時總停止工作
1 char型字串總 是自動以 0結尾 2 0 的意思是 ascii 值為 0 的字元。它的意義是 字串版結束權符 例如,一個字串 hello 它是由字元 h,e,l,l,o,0,6 個字元在記憶體中連續存放的。當程式遇見第一個 0 時就會認為該字串結束。char型字串總是自動以 0結尾 inclu...
C語言和C 有什么不同,C語言和C 有什麼不同
c語言與c 的區別有很多 1,全新的程式程式思維,c語言是程序導向的,而c 是物件導向的。2,c語言有標準的函式庫,它們鬆散的,只是把功能相同的函式放在一個標頭檔案中 而c 對於大多數的函式都是有整合的很緊密,特別是c語言中沒有的c 中的api是對window系統的大多數api有機的組合,是一個集體...
c語言中b a是什麼意思,在C語言中「a b」是什麼意思?
不要這樣寫,這樣寫了程式不報錯,但是執行的效果不是判斷b在a和c之間,而是把a與b比較的結果 true或者false 與c進行比較。是複合運算子。這句意為b b a 注意 中間沒有空格 首先,b 表示對b做自加運算,我們用c代替,c b 然後,a b 等於 a c,即a a c,也就是說 之前部分是...