陣列初始化報錯,int a【10】={0}這樣不可以賦值初始化嗎
uj5u.com熱心網友回復:
int a[10] = {0};這樣初始化是可以的,但是只有a[0]被初始化為了0。你這個代碼的主要問題在于int a[k],陣列宣告的時候,長度應該是個常量,不應該是你這種運行時計算出來的變數。uj5u.com熱心網友回復:
a陣列是不確定大小的,大小由n決定。C語言不支持可變陣列。樓主可以用動態申請空間形式申請空間(當做陣列用)a = (int *)malloc(sizeof(int) * k);
if (!a)
exit(0);
memset(a, 0, k * sizeof(int));
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/202996.html
標籤:C語言
上一篇:c++檔案問題
