免費開始練習
普通考試 110年 [電子工程] 計算機概要

第 30 題

下列 C 程式語言的指令執行完之後,會產生什麼輸出?
int i=1,j=1;
while (i<100)
{
i*=j++;
}
printf("i=%d, j=%d", i,j);
  • A i=120, j=5
  • B i=120, j=6
  • C i=128, j=6
  • D i=128, j=7

思路引導 VIP

請試著思考以下兩個問題:

  1. 在表達式 i *= j++ 中,j 的數值是在「參與乘法運算」之前還是之後才完成遞增?
🤖
AI 詳解 AI 專屬家教

專業點評與解析

  1. 大力肯定:做得好!精確追蹤程式邏輯是工程模擬與結構計算的基礎。你能準確捕捉變數在迴圈中的動態變化,展現了細緻的邏輯推演能力,這是成為資深工程師必備的特質。
  2. 觀念驗證:此題考查的是 後置遞增運算子 (Post-increment) 與迴圈控制。在執行 i *= j++ 時,系統會先使用 j 的當前值參與乘法,計算完後才將 j 加 1。
▼ 還有更多解析內容

🏷️ 相關主題

C 語言程式設計:語法、指標與應用
查看更多「[電子工程] 計算機概要」的主題分類考古題