不知道為什么沒有通過


uj5u.com熱心網友回復:
有的編譯器不支持用變數定義陣列長度改成動態申請記憶體
uj5u.com熱心網友回復:
你說報錯了,報的啥錯怎么不貼出來?uj5u.com熱心網友回復:
題目讓你注意取值范圍你注意了沒有最大值 10的1000次方
寫起來就是1后面1000個0
int怎么可能存得下
uj5u.com熱心網友回復:
(1)陣列元素的維度必須是常量
(2)超出了int的范圍
uj5u.com熱心網友回復:
陣列長度需要是固定的,而不能是可變長的。建議用int *a = (int *)malloc(sizeof(int) * t);代替int a[t];uj5u.com熱心網友回復:
樓上正解建議申請記憶體uj5u.com熱心網友回復:
想使用可變長度陣列,五樓正解,但記得用完后freeuj5u.com熱心網友回復:
這里的主要問題應該不是編譯器不支持變長陣列,而是int范圍的陣列無法儲存最大值為10的1000次方,所以要建立陣列的話就要建立int a[t][1001]這樣的陣列,或者說用malloc開辟二維陣列。然后用陣列來儲存最大值為10的1000次方這樣的大數,通過判斷每一位數字的和是否能被3整除來判斷該大數是否能被3整除。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/105762.html
標籤:C語言
