c 單迴圈連結串列的約瑟夫環問題,要求輸出全部出隊順序。程式掛

2021-04-28 03:39:51 字數 531 閱讀 3002

1樓:匿名使用者

我去,你來

這程式居然能編譯過去,我很

自無語。1、看到第三行int a={}既然是常量初始化,你搞個空怎麼可以,main裡面int a[n],n是你輸入的資料,編譯器不知道值,怎麼可能編譯過去你這需要用到動態分配,int *a; a=new int[n];你宣告的全域性的a陣列應該去掉,沒什麼用,還引起歧義2、你的類例項宣告,clinklistjoseph();寫的不倫不類啊。 如果你要顯示呼叫空建構函式,用指標clinklist* obj=new clinklist(); 你這樣在例項物件後面加個括號編譯器怎麼理解?

要不你就直接寫成clinklistjoseph; 這樣編譯器會自動呼叫建構函式,除非你的建構函式帶有引數,才可以這樣寫clinklistjoseph(param1,....); 3、再說你邏輯的錯誤,你都沒有給你的類例項變數賦值,就要從裡面move和delete。。。能不報錯嗎。

我看你寫了set函式就是要賦值的把,你a陣列在main裡賦值完了,是不應該先呼叫joseph.set(a,n)把值傳進去

c語言連結串列問題,c語言連結串列的問題

連結串列必須知道頭指標在哪第一個紅圈是初始化指標 因為你剛開始定義連結串列指標的時候指標指向的是隨機的 所以只能初始化 第二個紅圈是第一次給連結串列分配空間 如果頭指標為空就把連結串列指標給頭指標 這倆個語句確實只執行一次 但我沒理解你話的意思 你的理解當然不對了。前一個頭 head 尾 tail ...

c 連結串列關於查詢的問題,c 連結串列關於查詢的一個問題

很高興為樓主解答,如果滿意,請採納!首先樓主的宣告和定義不一致 宣告 定義 更正宣告部分為 e 更正完後呼叫 listsearch l l,3,30 因為呼叫的函式的第三個引數為引用,不能直接用變數或者常量30 下面是主函式修改部分 void main 修改後就能正常了 修改後的完整 也給你貼上 i...

有關C語言中動態連結串列的問題

非常敬佩你的專研精神,我仔細看完了你的 做了小小的修改,如果有其他問題歡迎追問哈 include include include include struct list struct list head null int main if head null else l p2 next null p...