跟C語言函式呼叫及指標的使用有關的問題

時間 2021-05-04 18:26:43

1樓:

估計是因為你返回了一個區域性變數,也就是 multi 函式裡面的 result[ dim ] 變數,區域性變數一旦在外部被引用或者被返回,會非常不穩定,建議你將 result[ dim ] 作為引用來傳遞給函式,同時可以作為返回值,你試試下面**,我沒上機編譯,是直接改出來的:

double presult[ dim ];

建議你測試一下原來的 multi 函式的返回值是否有效,以便排除問題。

2樓:成寒夢

原因如下:

簡單的講,你的陣列訪問越界了,t[5]指向的是一個野地址詳細的說就是:

你的陣列定義為t[5];,也就是其包含如下5個成員:

t[0],t[1],t[2],t[3],t[4]注意陣列下標從0開始。

而下面的**,也就是對於t[0],t[1],t[2],t[3],t[4]

進行了初始化:

for(n=0;n<5;n++)

t[n]=null;

所以t[5]為野地址

C語言指標函式的問題,關於C語言指標函式的使用問題

你這個問題,就是典型的不瞭解編譯過程的人容易犯的錯誤,關於指標和記憶體分配的問題,樓上已經講了很多了,這裡補充一點 你這段 裡 str hello world 這樣的定義,hello world 字串是屬於const char,編譯的時候,會編譯在const資料區,這一段的資料是受系統保護的,是不允...

c語言的函式指標舉個例子,c語言中函式指標是什麼 有什麼用 舉個例項

劉文正粉絲 函式指標告訴cpu下一步需要執行 的 的指標,一陣列十分相像.include void function int i,double d 一個函式的宣告 void anotherfunction int i,double d 另外一個函式宣告 int main mxl033 回答是對的。v...

c語言中函式能呼叫另函式中的define變數嗎

define 是巨集定義,是最先編譯的,我們使用巨集定義一般不在函式內定義,因為這樣做意義不大而且容易造成你提問的理解問題,為了避免不好了解,建議在函式外定義,這樣每個函式都可以使用,才顯示出它的意義。 可以 但是一開始就把它定義好 定義成全域性變數就可以! 鼕鼕 韓 正像上面的那個朋友所說的,de...