作者OpenSkyWin (雞飛城市)
看板C_and_CPP
標題[閒聊] 超無言的for迴圈...
時間Thu Apr 23 00:21:10 2009
期中考居然碰到像這種for迴圈
int i;
for(i=0;i=1;i++)
{
printf(" i is %d \n",i);
}
然後問你這個迴圈總共會執行幾次= ="
判斷式給我放i=1咧...我咧,這什麼東西...
要是放0或1或a-i什麼之類的我還能懂
到底這樣放有什麼意思呢??
增加閱讀的困難??
--
我從小在溪流邊看到魚兒力爭上游
我就立志以後一定要做大事不要做大官
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.228.101.81
1F:→ carlcarl:阿栽 04/23 00:24
2F:推 BSpowerx:這堂課可以退了 04/23 00:24
※ 編輯: OpenSkyWin 來自: 61.228.101.81 (04/23 00:26)
3F:→ bleed1979:maybe it will be a warning after compiling. 04/23 00:27
4F:推 Peruheru:無限迴圈?不管幾次條件都成立 04/23 00:28
5F:推 TroyLee:以後去debug別人的code 發現什麼奇怪的寫法都不奇怪了 04/23 00:28
6F:→ OpenSkyWin:我試過了耶,是可以編譯成功,沒想到判斷式還有這種放法. 04/23 00:28
7F:→ TroyLee:也許是希望你去挑錯...要你寫無窮迴圈... 04/23 00:28
8F:→ OpenSkyWin:我還以為放什麼x-y的就已經夠怪了,真是一怪還有一怪怪 04/23 00:28
9F:→ OpenSkyWin:不不,題目是問執行幾次...真搞不懂為啥會是無窮迴圈 04/23 00:29
10F:→ Peruheru:這就跟While條件寫a=0一樣吧,永遠成立啊 04/23 00:30
11F:→ Peruheru:通常這個寫法是出現在寫錯的迴圈,少寫一個等號 04/23 00:30
12F:→ Peruheru:之類得 04/23 00:31
13F:→ OpenSkyWin:條件擺1或1=1之類的不是更好懂嗎...@@ 04/23 00:31
14F:→ Peruheru:好懂得東西幹嘛考你呢?就看你會不會挑錯囉... 04/23 00:35
15F:→ netsphere:你是說 i==1? 04/23 00:35
16F:→ tiyun:現在的考試題目都出得真怪 04/23 00:36
17F:→ OpenSkyWin:打錯XD 是 1==1 04/23 00:36
18F:推 nswrthh:會出現WARNING吧 因為i=1放在判斷式就等於沒限制 04/23 00:37
19F:→ OpenSkyWin:像我之前有問一些老師,他說這種幾乎是在耍技術而已.. 04/23 00:38
20F:→ nswrthh:沒限制的話就會變成跑到當掉的無窮迴圈 04/23 00:38
21F:→ OpenSkyWin:像之前網路上流傳的那份計算pi值的超難懂程式 04/23 00:38
22F:→ OpenSkyWin:實在是很難理解i=1放在判斷式裡會兜出什麼東西來...@@ 04/23 00:39
23F:→ OpenSkyWin:我剛實作了一下,dev-c++都沒有警告耶..是無窮迴圈 04/23 00:40
24F:推 BSpowerx:話說我還被考過 if(x=1 || x==1)的...全班沒人對=.= 04/23 00:42
25F:→ nswrthh:判斷式裡要擺什麼其實都可以 04/23 00:43
26F:→ OpenSkyWin:樓上老師跟我差不多吧…(握 04/23 00:43
27F:→ OpenSkyWin:奇怪,為什麼C99之類的標準會允許這種擺法呢? 04/23 00:46
28F:推 Fenikso:要寫什麼是programmer的自由啊 為什麼要禁止XD 04/23 00:48
29F:→ OpenSkyWin:原來如此....看來是我功夫還不到家吧! 04/23 00:50
30F:推 sandr1983:符合規定阿.所以當然會過XD 04/23 01:11
31F:→ MOONRAKER:這是在教育programmer:「愚昧是要付出代價的」 04/23 04:25
32F:推 VictorTom:如果老師是不小心出的, 那這個老師應該要打屁股.... 04/23 09:53
33F:→ VictorTom:如果老師是故意出的, 你們搞不好應該感謝他一輩子.... 04/23 09:53
34F:→ VictorTom:只要你們還要幹著看code寫code的工作.... 04/23 09:53
35F:→ VictorTom:並且體會到 x==1 和 1==x 兩種寫法為什麼有人推薦後者:) 04/23 09:54
36F:→ OpenSkyWin:請問是因為"總是會有人寫這種code"所以要看的廣比較好? 04/23 09:57
37F:→ VictorTom:回樓上, not always, but sometimes, 而且包括你自己XD 04/23 10:00
38F:推 stonehomelaa:阿就趕project趕到昏了就容易少打 '=' 囉 04/23 10:02
39F:推 fjm31714:題目應該也不是教授出的XD 看了V大的推文學到了東西 04/23 10:33
40F:推 ledia:不過這種問題, gcc 好像會叫, VC 不知道 warning level 高 04/23 10:44
41F:→ ledia:一點時會不會叫 04/23 10:44
42F:推 Bencrie:跟C99無關,那種寫法本來就是合法的 04/23 11:31
43F:推 fjm31714:gcc好像沒警告@@ 還是要加什麼參數讓他警告多一點?? 04/23 11:44
44F:推 ledia:-Wall 04/23 11:52