代码如下:
#include <stdio.h>#include <string.h> int main(){ char b[5] ; gets( b ); printf("strlen b =%d,sizeof b =%d \n",strlen(b),sizeof(b)); return 0;}
运行结果如下:
我定义了 b 只有5个长度,但是输入时却可以超过这些
运行也没报错,原因是什么?
gets( b ); 长啥样?
不懂你回答的意思额。。。
@lleo小浩: http://zhidao.baidu.com/link?url=QfNrEOdaiI9JrvPYUGibd8VnaIbwS_E4QxhPuYGeFSgkh3BpqqZCQZ1ZQhixwthlyZbuQKeMGWI1Afx6iHLNja
@博客¥: 恩恩,感谢你的帮助啦
C没有检查这类数组越界的机制,需要你自己处理越界问题
知道了,谢啦