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 未得到正確的許可權的時候進行訪...