程式練習題庫
← 回題目列表
c難度 ●●●

C4 — 陣列沒有 len()

Python 裡 len(nums) 隨時能問出長度。C 的陣列不知道自己有多長。

題目

宣告一個裝了 5 個整數的陣列,用 for 迴圈把每個元素印出來,最後印出總和。

不要把 5 這個數字硬寫在迴圈裡,想辦法算出來。

提示

sizeof(arr) / sizeof(arr[0]) ——整個陣列佔的位元組數,除以單一元素佔的位元組數。

這招只在「陣列的宣告還看得見」的地方有效。一旦陣列被傳進另一個函式,它會退化成指標,sizeof 就會給你指標的大小而不是陣列的大小。那時候長度就只能另外用參數傳進去——這就是為什麼 C 的函式簽名常常長成 f(int *arr, int n)

會照出 Python 藏了什麼

for n in nums 背後有人幫你發牌、幫你數數、幫你在數完時喊停。C 裡這三件事都是你的工作。

C 題不提供線上執行,自己在本機編譯,寫完可以請 AI 看看。

討論區

登入後就能留言和評分。

    還沒有人留言。