102自來水程式設計概要 - 考試

Table of Contents

27.有關C++程式碼的執行結果,下列何者正確?
int b,i;
for(b=1,i=0;i<100;i++) b=b*3%7;
答案是 (4)b的值變成4

我個人是猜b的值變成3,b的初始值設在迴圈跟外面不是一樣嗎?
還有*跟%優先權不是一樣? b=1*3%7 => 3%7=3?



32.下列的C++程式碼總共宣告了三個同名變數x:
static int x=1;
int main()
{
int x=2;
for(int i=1,x=3;i<5;i++){
x*=i;
}
cout<<x<<endl;
return 0;
}
答案是 (1)程式會印出2

我個人是猜程式會印出72,覺得static沒影響這程式
x在主程式設值為2,迴圈又設值為3,答案會印出2,所以代表沒有跑迴圈?


--

All Comments

Brianna avatarBrianna2013-08-28
有跑迴圈 迴圈裏面的x是新宣告的
Elizabeth avatarElizabeth2013-08-31
第一題迴圈100次 3 2 6 4 5 1 總共6個依循還 100%6=4
因此答案是4