level 14
Q:以下代码有个被隐藏住的问题,你能找到它吗?
01 #include<stdio.h>
02
03 int main(void)
04 {
05 char buff[10];
06 memset(buff,0,sizeof(buff));
07
08 gets(buff);
09
10 printf("\n The buffer entered is [%s]\n",buff);
11
12 return 0;
13 }
大家找找看,这段代码有一个隐藏问题!
2012年10月20日 10点10分
1
level 9
没有检测是不是有足够的空间来拷贝数据,用fgets()就好了
2012年10月20日 10点10分
4
level 14
你们很牛b啊 这么快就找到了,那再来一个!
Q:请问以下代码有内存泄露吗?
01 #include<stdio.h>
02
03 void main(void)
04 {
05 char *ptr = (char*)malloc(10);
06
07 if(NULL == ptr)
08 {
09 printf("\n Malloc failed \n");
10 return;
11 }
12 else
13 {
14 // Do some processing
15 }
16
17 return;
18 }
2012年10月20日 10点10分
7
没有free
2012年10月20日 10点10分
看清楚问题哦,是没有free,但是会造成内存泄露么?
2012年10月20日 10点10分
回复 楼兰商客 :如果分配不成功就不会。。成功会吧
2012年10月20日 14点10分