作为热身,我们就从一个最简单的目标开始:写一段合格的程序。
假设我们听到的要求是这样的:“写一个函数,实现类似strcat的功能,即把一个字符串拷贝到另一个字符串的后面”。
怎么样,听到这样的要求我们作为专业程序员应该怎么做?哈哈,太简单了,小儿科?根据经验,最先跳起来的往往就是刚刚学过C或者C++的学生:就这要求?简直侮辱俺这名牌大学生的智慧!
那就写写看吧。OK, 开始计时....
void fool(char* s1,char* s2)
{
memcpy(s1+strlen(s1),s2,strlen(s2));
}
....15秒,完成。遗憾的是,像上面这样的代码可以直接扔到垃圾桶里,如果是应聘程序员的话估计会被归入永不录用一栏。
当然,我想大家都能看出来,上面这段代码有个低级错误,那就是新字符串结尾没有'/0'标志,相信聪明点的顺手就可以给出改正版:
void fool(char* s1,char* s2)
{
memcpy(s1+strlen(s1),s2,strlen(s2)+1);
}
这样没问题了吧?估计改正者还能洋洋得意,因为他利用了s2结尾的'/0',不用专门增加一条语句给新串加结束标志。
但是,这样的代码只能得零分,因为写这种代码的人不具备产品开发的基本要求,距离合格还有遥远的距离。为什么这么说?不要着急,不妨先想想。
试一试吗?看看自己能否完成这么简单的任务?没有任何高深的东西,只需要你完成“写一个函数,实现类似strcat的功能,即把一个字符串拷贝到另一个字符串的后面”而已。
本训练营的群组:http://groups.csdn.net/devs