有一個字符串符合以下特征(” "abcd11111abcd2222abcdqqqqq"”),要求寫一個函數(接口),輸出以下結果
1) 求字符串字串(“abcd”)出現的次數,並把結果傳出;
我昨天晚上寫了半天,圖片是昨天晚上寫的代碼。
應該打印3,可是每次都打印0.
於是接見了一下其他人的代碼,使用了指針。
還是原來的接口,現在就能打印3了。
調用c接口的話,是不是放在了棧區,然後調用完了,系統就直接丟棄變為0了?
假設設置一個指針,然後指針指向i的地址,再把 main函數裡面的i修改了,這樣就打印3了。
我說的對嗎? 我希望有人能夠從內存四區模型詳細給我講講。
感激不盡。
你這是形參與實參的問題,與棧沒什麼關系。你想改實參的值,就必須使用指針或者引用。否則,在函數內部變化的參數的值不會影響傳入參數的值。