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