c語言程式問題有關指標和realloc的,難度應該不大,但新手求大神指點,找不到錯

2021-04-02 12:47:04 字數 720 閱讀 2922

1樓:匿名使用者

a沒有初始化,

如果通過array(a, n);來初始化a,應該把void array(int *a, int k)改為void array(int **a, int k)

2樓:匿名使用者

你的main 函式裡面的 *a 指標 沒指向 ,所以程式有錯

3樓:匿名使用者

想法應該挺簡單的吧,不足之處還請大神指點執行後結果很詭異啊,沒見過這種錯,可能和記憶體有關吧就這麼點分了,見諒

4樓:

1)exit(-1); /* exit 函式盡量少用;*/2)4 void array(int *a, int k) //輸入k個int型整數

5 41 int main()

42 */

47 array(&a, n);

if(!a)return 0;/* 或 */48 printf("the max number is %d\n", *max(a, n));

49 free(a);

5051 return 0;

}ps:main函式的返回值,和exit函式的引數稱為程式退出碼,程式退出時,可以通過判斷退出碼,來得到程式執行的資訊。

最簡單的用途,是批處理檔案中,判斷退出碼,做不同的處理。

C語言指標問題,C語言指標問題

這個演算法最後的時候 p和q都是指向a的,在最後這個時候a的結構是,q之前的是所有的除了版 之外權 的字元。q之後的都是原來a裡面的資料,對於這個時刻是髒資料。最後把q指向的那個位置賦值為 0可以在遍歷a的時候,不遍歷到髒資料,而這個時候p正好指向的就是 0,所以 q p 迴圈結束條件是 p 0,因...

C語言這個F函式再指標C語言指標問題

28f為傳值呼叫。所以f中的修改不影響main中變數的值。輸出的還是原始值。即 4,3,5 選d29 a 4b a q b w q b q null a q 0 由於q已經賦值為null,再對 q賦值會引起程式崩潰。這個不對 b w p 指標間賦值,正確。c p a 也就是a a 正確。d p w ...

C語言NULL指標問題,C語言空指標是怎麼回事

不知道你用的系統和gcc的版本是什麼?在我所使用的linux工作站以及freebsd工作站上均未出現此問題,輸出均為 null 字串,在soliras系統上測試,兩個結果均為段錯誤,沒有出現你所說的現象。出現段錯誤的原因有 1 引用乙個包含非法值的指標 例如空指標。2 未得到正確的許可權的時候進行訪...