作者:
Rushia (みけねこ的鼻屎)
2022-09-21 12:32:18※ 引述《kerycheng (甚麼都不想做的凱瑞)》之銘言:
: 我上資料結構助教課開dev c++打C語言
: 寫for迴圈的時候,在我實驗室的電腦可以這樣打
: for(int i=0;...){}
: 可是到電腦教室的時候這樣打就會編譯失敗,一定要先
: int i;
: for(i=0;...){}
: 有人可以解答一下嗎
第一種寫法我記得是C99才被引入的
之前都是用第二種的智障寫法
你要去看一下你電腦教室的編譯器版本
作者:
Rushia (みけねこ的鼻屎)
2022-09-21 12:35:00哪裡好了= = 只會讓你程式碼變長語法糖又沒不好 不然你要像JAVA一樣囉唆?
程式碼變長又不是缺點,學校才會在意這種東西吧性別和變數用途明確定義重要多了
作者:
Rushia (みけねこ的鼻屎)
2022-09-21 12:36:00變長 而且更不好閱讀 不然你講講優點
作者:
ILoveErr (英梨梨我老婆)
2022-09-21 12:36:00一行變兩行就是缺點ㄚ
作者:
Rushia (みけねこ的鼻屎)
2022-09-21 12:38:00我第一次聽到for的i放外面比較好的說法 現代程式語言都是白癡?ㄏㄏ
作者:
surimodo (好吃棉花糖)
2022-09-21 12:39:00第一種比較好吧 第二種變態太多還要注意生命週期變數
作者:
ILoveErr (英梨梨我老婆)
2022-09-21 12:41:00亂講 第一種才要注意生命周期
利用情形不同,更何況只是拉進去根本就不夠,就我而言就沒比較好用。 真的要好用語法糖都是去跑陣列取key value了
C我不確定,但我用的語言迴圈管你裡面外面,自己沒注意都可能有問題,誰迴圈只是跑1…n而已的
作者:
Rushia (みけねこ的鼻屎)
2022-09-21 12:44:00你直接說哪家大公司會教工程師變數i寫在外面除非有特定用途要記錄迴圈離開的索引 只是遍歷誰這樣寫當你的同事要看你的狗屎程式碼很雖小吧
你自己罵第一種智障,我覺得沒比較差,適用情況就第一種比較廣啊,不然你別用傳統吧,我就比較爛。講反了,第二種
作者:
Rushia (みけねこ的鼻屎)
2022-09-21 12:48:00你自己說第二種比較好又說不出第二種哪裡好你說變長不是缺點 但是一樣的事第一種就可以做到
自己嫌傳統爛,語法糖棒棒,適用情境不管,誰才莫名其妙
作者:
Rushia (みけねこ的鼻屎)
2022-09-21 12:49:00我上面就說第二種只有特殊用途會用了
作者:
surimodo (好吃棉花糖)
2022-09-21 12:49:00這種時候 該呼叫你板姑姑魯跟微軟工程師ㄌㄅ@教授 @啊怕氣 = =
作者:
Rushia (みけねこ的鼻屎)
2022-09-21 12:50:00你說哪句 我上面就說除非特殊用途不然第一種用法屌打第二種除了變長以外一般情況下根本沒屁用你要在一個區塊寫三個迴圈看你要宣告幾個變數還不能相互污染喔 我在這邊定義一個i 結果上面有人宣告過
你回文不就直接講傳統用法智障,我沒講語法糖你有解釋那麼多?寫底層的確是智障比較辛苦
作者:
Rushia (みけねこ的鼻屎)
2022-09-21 12:53:00直接跳一個編譯器錯誤
作者:
surimodo (好吃棉花糖)
2022-09-21 12:53:00搞不好是2000以前的專案 對啊= =
作者:
Rushia (みけねこ的鼻屎)
2022-09-21 12:55:00他那種寫法就只是迭代而已第二種寫法不可能比較好不然你以為JAVASCRIPT為啥要不斷的縮小scope?
linux kernel 也是近幾年才支援用 c99 編譯,在這之前應該所有在改 kernel 的大公司都是用第二種寫法
作者:
HuiXillya (Illyasvien)
2022-09-21 13:18:00程式碼是給人看到的,在這種效能基本沒差的狀況第一種比較好吧,第二種誰知道那個i會不會在哪邊被幹到