← 回題目列表
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 看看。
討論區
登入後就能留言和評分。
還沒有人留言。