【大家来找茬】不知道到这发个这样的帖子合不合适呀。。。各位C/C++大牛们快来呀~~~~~~~~~
呵呵,不过这个游戏还真没QQ游戏里的那个那么好玩~~~~
这样的,我贴出几段代码,上面有各个不同的功能,其中至少有一段代码存在漏洞,会导致程序陷入死循环或者什么的。
先说要求:只能使用基本操作去实现string.h库中的一些函数功能。前提是不能包含string.h。
代码片段一: 获取字符串长度
[解决办法]
void strcopy(char **target, char *source)
{
if(!source){
return;
}
unsigned length = strlenth(source);
*target = (char*)malloc(length + 1); //这里要改
if(*target){
return;
}
unsigned int i = 0;
for(; i<length; ++i){
(*target)[i] = source[i];
}
(*target)[i] = '\0';
}
先修正一个在看下面的
[解决办法]
又是一段明显初学者写的代码~
int strcompare(char *s, char *t)
{
if(!s && !t){
return 0;
}
if(s && !t){
return 1;
}
if(!s && t){
return -1;
}
while(*s
[解决办法]
*t){ //这个条件是错误滴,*s && *t
if(*s > *t){
return 1;
}else if(*s < *t){
return -1;
}
s++;
t++;
}
//可不能直接返回0
if (*s)
return 1;
else if (*t)
return -1;
else
return 0;
}