102年鐵路計算機概論 - 考試

Table of Contents

[考題] 國考歷屆考題與考題觀念討論(書裡看到的選這個)請附上想法、出處


這是去年鐵路的計算機概論第23題,在題目本身語法有錯沒辦法上編譯器
測試的情況下,只能上來請教版上大大
題目如下,請問下列程式執行完畢後 m3的值等於多少?
int m1 = 11;m2,m3=1;
for(m2=m3;m1>=m2;m1--){//這裡其實已經出現m1未宣告的錯誤
m1=m1-m2;
m3=m1+m3;
m1=m1-1;
}
選項 分別為A.21 B.22 C.23 D.24----答案為A
假設程式可以跑的情況下
第一輪 m2=1 m1=11-1-1=9 ,m3=1+9=10 m1=9-1=8;
第二輪 m2=m3=10 ,m1此時為8已經不大於10,跳出迴圈
問題此時來了,A的答案 m3=21 是怎麼來的 = =?

--

All Comments

Mia avatarMia2014-04-01
這題我考古題的解答是C 算出來也是C 給您參考
Frederic avatarFrederic2014-04-03
m2=m3只會執行ㄧ次 你觀念有問題
Andrew avatarAndrew2014-04-06
m2=m3只會跑一次,m1--敘述跑完才會跑
Andrew avatarAndrew2014-04-07
應改為,第一輪 m2=1,m1=11-1=10,m3=10+1=11,m1--=9;
Caroline avatarCaroline2014-04-10
上面打錯, m2=1,m1=m1-m2=10,m3=m1+m3=11,m1=m1-1=9
Charlotte avatarCharlotte2014-04-14
執行完敘述後,再m1--=8
Zanna avatarZanna2014-04-17
更正一下 答案為C
Hedwig avatarHedwig2014-04-21
是我對for迴圈的敘述有誤解 感謝版上大大的指正