黑马程序员技术交流社区
标题:
C语言有趣的问题一
[打印本页]
作者:
socl_ycl
时间:
2015-9-16 14:07
标题:
C语言有趣的问题一
请找出下面代码里的问题:
#include <stdio.h>
#include <stdlib.h>
int main(void) {
char buff[10];
memset(buff,0,sizeof(buff));
gets(buff);
printf("\n The buffer entered is [%s]\n",buff);
return 0;
}
复制代码
作者:
socl_ycl
时间:
2015-9-16 14:12
欢迎大神来指导哦~~~
作者:
lumangmang
时间:
2015-9-17 12:23
定义的数组长度是10,但gets可以接收大于10的长度
作者:
L503254118
时间:
2015-9-17 16:19
memset 是什么意思,感觉视频里面没有讲过呀
作者:
socl_ycl
时间:
2015-9-17 18:05
上面代码里的问题在于函数gets()的使用,这个函数从stdin接收一个字符串而不检查它所复制的缓存的容积,这可能会导致缓存溢出。这里推荐使用标准函数fgets()代替。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2