※ 引述《pangfeng (Ikari Gendou)》之銘言:
: ※ 引述《cebrusfs (可魯貝洛斯)》之銘言:
: : 目前看到不少本機編譯會過,但是上傳上去卻黃牌。
: : 得到的是使用了被禁止的函式。
: : 似乎很多人都使用DevC++去寫程式,
: : 為了防止程式關閉,坊間和網路上都會教你使用
: : system("pause");
: : 可是這東西不太健康....
: : 另外judgegirl為了安全性問題封鎖掉了system,這會造成Compile Error....
: : 搭上紅黃牌系統就很悲劇。
: : 重點來了,
: : 我其實建議大家把,
: : system("pause");
: : 換成,
: : scanf(" ");
: : 會有一樣的效果,而且輸入個亂七八糟的東西(非換行和空白)就會關掉了,
: : 算頗方便的。
: : 忘記砍掉,直接傳到judgegirl也不會有事。
: : 原理就不解釋了,有興趣在自己問強者,不一定是問我,
: : 這招大部份的強者都會啦......算是競賽小技巧了。
: 我希望大家用命令列的原因是因為這樣最單純.
: 而且不會用命令列, 將來 argc argv 命令列參數要怎麼教???
: 將來在 UNIX 怎麼寫系統程式?
: 不會用命令列 -> 用 DevC++ 之類的 IDE -> 看不到結果 -> 加 system("pause);
: -> 卡住批改娘, 被禁用 -> 改用 scanf(" "); -> ???
: 如果一開始就用命令列, 這些問題就沒有了.
: 為了一個問題, 發展出一個絕招, 然後造成另一個問題, 然後繼續下去.
: 使用 system("pause") 及 scanf(" ") 有多少人搞得清楚他們的含意?
: 有多少人搞得清楚為何輸入個亂七八糟的東西(非換行和空白)就會關掉,
: 但送到批改娘不會卡住? 這些網路上流傳的招式讓人知道效果,
: 不知原因, 因為人家這樣做, 所以我也這樣做, 在我看來是很奇怪的.
: 我認為要學好程式, 必須清楚的知道你所寫的每一個字元到底在幹嘛.
: 那就按步就班, 徹底了解你所下的每一個指令.
: 不要寫一些你自己都不知道在作什麼的東西.
: 因為難保將來這些東西在某些狀況下也會出問題, 到時你怎麼修一個你根本不懂的東西?
: 還是說再等強者發明一個你還是不懂的絕招, 解決你現在不懂的問題?
最近發了不少紅黃牌. 請了解發牌的動機不是要和你為難, 而是希望你養成良好的習慣.
上課時說得很清楚了. 請先寫到沒有編譯錯, 同時標準測資會過再送.
三令五申不希望你用 system("pause"), local 端測到沒問題再送.
如果還是不能做到, 我只好發紅牌, 請你下次注意.
以上.