Re: [問題] trace program
※ 引述《forris (喬巴)》之銘言:
: int ml, m2=11, m3=1;
: for ( ml=0; ml<=m2; m1++){
: m3 = m1 + m3;
: m1 = m1+2;
: }
: 該程式片段執行後,m3 之值為何?
: (A) 18 (B) 19 (C) 30 (D) 31
: ===========================================================================
: 答案是 19 , 我都算成 31.
: 要怎麼算阿 ?
答案應該沒錯~ (ps. 題目中m"L"應修正為m"1")
詳細如下:
-------------------------------------------------
執行項目 m1 m3
-------------------------------------------------
int m1, m2 = 11, m3 = 1; ? 1
進入for迴圈 0 1
判斷m1 <= m2
m3 = m1 + m3 0 1
m1 = m1 + 2 2 1
m1++ 3 1
判斷m1 <= m2
m3 = m1 + m3 3 4
m1 = m1 + 2 5 4
m1++ 6 4
判斷m1 <= m2
m3 = m1 + m3 6 10
m1 = m1 + 2 8 10
m1++ 9 10
判斷m1 <= m2
m3 = m1 + m3 9 19
m1 = m1 + 2 11 19
m1++ 12 19
判斷m1 <= m2
退出for迴圈 12 19
-------------------------------------------------
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.57.132.240
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):