105高三資訊處理 程式語言的 第三題 - 考試

Table of Contents


不好意思因為是不同小題 就分開貼了 不是為了賺P幣~XD

題目 int main(){
int a=1,b=2,c=3,d=4;
prinf("%d %d %d %d ", a+b+c+d , (b*=a) , (a+=d),(d++));
}
補習班的答案
10 2 5 4

使用gcc的結果
26 12 6 4

這部份也是覺得推算起來很鬼異~
畢竟d++的生效要是下一行 才有反應~?

這只是compiler的不同嗎?

--

All Comments

Anonymous avatarAnonymous2016-07-17
不知道編譯器遇到這樣的寫法是怎麼編譯
Candice avatarCandice2016-07-19
哀 再寫的時候就想說怎麼可能這麼簡單 但還是錯了
Ophelia avatarOphelia2016-07-23
我跑出來的結果也跟你一樣
Cara avatarCara2016-07-25
我完全不知道會由後往前耶 長知職了(可惜是考完後)
是compiler的關係嗎?
Agatha avatarAgatha2016-07-26
直覺會是前往後吧…
Queena avatarQueena2016-07-26
反倒覺得老師不會真的去用編譯器跑,太多版本了
Hedy avatarHedy2016-07-30
應該是考系統傳入副程式參數處理的順序 細到只會在考卷
上看到的用法
在公司用這種寫法還不被後面的人抓出來摔...
Doris avatarDoris2016-08-01
嗯 真的是為了考試為難學生吧~其實當天我在心裡念了很久
Iris avatarIris2016-08-03
沒意義的題目…略過吧同學
Sarah avatarSarah2016-08-08
我朋友說這張是計概等級的題目...平均要創新高
Noah avatarNoah2016-08-11
如果有人寫出compiler的答案 我輸也能輸得心服口服
Hardy avatarHardy2016-08-15
QoiiwWe 那可以請你朋友幫忙解說一下此題嗎?真的很想知道
拜託
Hedwig avatarHedwig2016-08-16
James avatarJames2016-08-18
printf parameter evaluation order沒定義
果然是台灣會出現的考試題目…
Necoo avatarNecoo2016-08-20
看討論也是說沒定義 順序留給各個編譯器優化決定
Ida avatarIda2016-08-23
所以左推算 右推算 跳著推算都可以...
Steve avatarSteve2016-08-26
考Side effect真的很有種 實作都會避免這種寫法
Frederic avatarFrederic2016-08-30
同感,研究所考試出就算了,國家考試也這麼出…
Callum avatarCallum2016-09-03
Orz…因為想說b*=a代表b=b*a,是一個算式,所以我寫結果
非0即為true,輸出寫1…哭
Valerie avatarValerie2016-09-04
最後答案應該也是會是10,2,5,4吧,我覺得
Kristin avatarKristin2016-09-05
今年程式真的2020分拿 要噴也一次2020的噴
David avatarDavid2016-09-10
我本來感覺這題的本意是要給考生拉分的,應該沒有這麼
兇殘吧…(還從後面來…)
Puput avatarPuput2016-09-12
我剛剛自己測試了一下答案是 22 10 5 4 考試的時候就
Oliver avatarOliver2016-09-13
覺得毛毛的 想說怎麼可能是10 2 5 4這麼簡單 果然有
陷阱 a101大那個想法我也有想過 在if判斷裡面指定算
式非0的話就為true 想寫1 但最後反正22 10那種推法
我完全沒考慮到 所以也沒有惋惜的遺憾 肯定被扣10分
心裡面沒疙瘩了
Freda avatarFreda2016-09-15
其實最早的K&R C有定義這種operation
Olive avatarOlive2016-09-19
http://goo.gl/7Pv9W0 先按compile再按execute
Linda avatarLinda2016-09-21
為什麼上一篇發問被刪掉了?
Elvira avatarElvira2016-09-22
補習班對 大一這種題目早就被老師出到爛掉了
Rebecca avatarRebecca2016-09-27
c的程式執行會從後面開始 就跟網路處理封包會從後面CR
C開始檢查起一樣 要特別注意的點
Donna avatarDonna2016-09-29
不是compiler的特性 是c語言處理的方式是這樣
William avatarWilliam2016-10-03
考完回再研究了一下 是跟calling conventions有關
Adele avatarAdele2016-10-04
C預設使用cdecl 裡面定義參數有右至左傳入
所以不是C語言就這樣 要看使用哪種calling conventions
Emma avatarEmma2016-10-05
但前面都說了cdecl就是C的使用標準 其他都應該為特例
所以答案還是以右到左為主吧..
Dora avatarDora2016-10-08
我覺得 答案搞不好是 10 2 5 5...
Oscar avatarOscar2016-10-10
這種題目在普考很常見,有做普考考古題的,應該就知道
Michael avatarMichael2016-10-12
這是從左到右喔,而且是考選不公佈的解答 所以解答是:
Vanessa avatarVanessa2016-10-15
10 2 5 4 不用想太多囉 但實務上 不會有人這樣寫程式
Sandy avatarSandy2016-10-19
本身寫程式不會這樣用 還是有高手 常這樣用... 佩服
Caitlin avatarCaitlin2016-10-20
所以重點還是在考古題囉 先推我有上榜吧@@