楼主:
pangfeng (Ikari Gendou)
2011-09-21 19:50:12※ 引述《cebrusfs (可鲁贝洛斯)》之铭言:
: 目前看到不少本机编译会过,但是上传上去却黄牌。
: 得到的是使用了被禁止的函式。
: 似乎很多人都使用DevC++去写程式,
: 为了防止程式关闭,坊间和网络上都会教你使用
: system("pause");
: 可是这东西不太健康....
: 另外judgegirl为了安全性问题封锁掉了system,这会造成Compile Error....
: 搭上红黄牌系统就很悲剧。
: 重点来了,
: 我其实建议大家把,
: system("pause");
: 换成,
: scanf(" ");
: 会有一样的效果,而且输入个乱七八糟的东西(非换行和空白)就会关掉了,
: 算颇方便的。
: 忘记砍掉,直接传到judgegirl也不会有事。
: 原理就不解释了,有兴趣在自己问强者,不一定是问我,
: 这招大部份的强者都会啦......算是竞赛小技巧了。
我希望大家用命令列的原因是因为这样最单纯.
而且不会用命令列, 将来 argc argv 命令列参数要怎么教???
将来在 UNIX 怎么写系统程式?
不会用命令列 -> 用 DevC++ 之类的 IDE -> 看不到结果 -> 加 system("pause);
-> 卡住批改娘, 被禁用 -> 改用 scanf(" "); -> ???
如果一开始就用命令列, 这些问题就没有了.
为了一个问题, 发展出一个绝招, 然后造成另一个问题, 然后继续下去.
使用 system("pause") 及 scanf(" ") 有多少人搞得清楚他们的含意?
有多少人搞得清楚为何输入个乱七八糟的东西(非换行和空白)就会关掉,
但送到批改娘不会卡住? 这些网络上流传的招式让人知道效果,
不知原因, 因为人家这样做, 所以我也这样做, 在我看来是很奇怪的.
我认为要学好程式, 必须清楚的知道你所写的每一个字符到底在干嘛.
那就按步就班, 彻底了解你所下的每一个指令.
不要写一些你自己都不知道在作什么的东西.
因为难保将来这些东西在某些状况下也会出问题, 到时你怎么修一个你根本不懂的东西?
还是说再等强者发明一个你还是不懂的绝招, 解决你现在不懂的问题?