已采納回答 / LawrenceLam
這取決于自己限定的結(jié)束條件,例如fun(int a){??? int? n;???? if (a==0||a==1)n=1;???? else n=fun(a-1)*a;???? return n;}當(dāng)a大于1,程序就會不停地遞歸直至a=1求出fun(1)的值,進(jìn)而一層層求出fun(2)......fun(a),最后返回a的階乘
2016-02-26
已采納回答 / 誰的青春不迷茫_
返回值為指向weapon結(jié)構(gòu)的指針的函數(shù)
已采納回答 / 流浪_老
這是鏈表的知識啊 else?p2->next?=?p1; ?在這句代碼里面P2->next ?指向了P1 ?然后把P1的值付給了P2 ?這個時候的 P2是另外一個內(nèi)存空間 ? 下一次用是不會覆蓋上一次的地方的 ?P2最后會指向 最后一個節(jié)點 ?只需要找到頭指針 ?根據(jù)鏈表的性質(zhì)就可以輸出整個鏈表了?
已采納回答 / AAnonymous
malloc是分配內(nèi)存(type*)malloc(size);分配size個字節(jié)的內(nèi)存,因為malloc只能分配多少字節(jié)的內(nèi)存,不能指定分配內(nèi)存存什么類型,所以強(qiáng)轉(zhuǎn)為某類型(type*)其實這里C++寫相當(dāng)于 p1=p2=new weapon();
已采納回答 / 封不羈
為了下一次輸入時能夠得到這個鏈表的尾結(jié)點,然后將這次的輸入生成的結(jié)點鏈接到鏈表的最后成為新的尾結(jié)點,以此類推。如果不能很好理解的話,可以自己動手畫一張圖(下面的圖僅是參考),會清晰很多: )<...圖片...>
已采納回答 / 伊兮塵昔
肯定不一樣啊,第一個是一維數(shù)組,直接指向的地址,而第二個是二維數(shù)組,指向的是的數(shù)組中的第一個元素,表達(dá)的含義和結(jié)果是不一樣滴
2015-08-10
已采納回答 / 封不羈
如果你學(xué)過java或者C++,對比他們的容器類,你就會知道,這些非常好用的容器類的原型就是鏈表,尤其是動態(tài)鏈表。而這些容器類的應(yīng)用,幾乎所有的C++或者java項目都會用到他們: )
已采納回答 / onemoo
C語言運算符有優(yōu)先級和結(jié)合性,但是參與運算的操作數(shù)的求值順序并沒有規(guī)定。所以這兩個代碼是有問題的。第一個例子中:return 后面的 n-- 的值肯定是n,但是n自減在這個表達(dá)式中是什么時候發(fā)生的并不確定(在return語句后肯定減1了,但也沒意義了)第二個例子:step的參數(shù)--n的值肯定是n-1,而且在函數(shù)調(diào)用后n的值也肯定是減1了,但是由于操作數(shù)的求值順序未定,所以不能保證肯定先調(diào)用step函數(shù)。這兩個代碼的行為都是未定義的,能出運算結(jié)果不一定代表這就是“正確的”結(jié)果。
2015-08-05
已采納回答 / onemoo
標(biāo)準(zhǔn)對此沒有規(guī)定,完全由編譯器自己實現(xiàn)。自己寫代碼時不要依賴這種“未指定”的行為。想要知道你使用的編譯器是怎樣實現(xiàn)的,就用gdb打印出數(shù)據(jù)結(jié)構(gòu)看一下吧。
2015-08-01
已采納回答 / 墮天使008
unsigned 并不是 一個類型, unsigned 這個關(guān)鍵詞不能單獨出現(xiàn), unsigned long或者unsigned int 才是一個類型,指的是 無符號的long 類型,雖然長度沒變依舊是long 的長度,但數(shù)據(jù)的最大值是原來的2倍。單獨一個 unsigned 該表示什么類型? “無符號的” 這個詞怎么算類型, 不限制長度的無符號數(shù)值嗎?
2015-07-24