一道赋值题目的错误解析
2009-07-15 10:02
204 查看
Code:
void test1()
{
char string[10];
char* str1 = "0123456789";
strcpy( string, str1 );
}
从编译和运行的结果来看,上面的函数并没有什么错误,但是却隐藏着错误! 常量字符串str1是以'/0'结束的,用sizeof可以知道其长度为11,而string的长度只有10,string没有足够的长度来存储str1,导致数组越界!
void test1()
{
char string[10];
char* str1 = "0123456789";
strcpy( string, str1 );
}
从编译和运行的结果来看,上面的函数并没有什么错误,但是却隐藏着错误! 常量字符串str1是以'/0'结束的,用sizeof可以知道其长度为11,而string的长度只有10,string没有足够的长度来存储str1,导致数组越界!
相关文章推荐
- 007中一道答案错误的题目
- 嵌入式公司常考的一道指针题目:直接给内存地址赋值
- 非传统题型练习:解析一道循环赛题目
- 一道理解c#中对象(引用类型)相互赋值和方法覆盖(overriding)的题目
- 一道关于多态题目的解析
- 今天做过的一道js题目解析
- 解析一道百度面试算法题目
- 一道笔试题目-解析
- OCJP有这样一道题目,会有编译错误,结果可以编译运行
- 一道理解c#中对象(引用类型)相互赋值和方法覆盖(overriding)的题目
- 一道C语言笔试题解析,检查源代码中的错误
- 解析“一道考遍东北三省和青岛没有一人做出来的简单题目 ”
- oracle 两表之间字段赋值错误解析
- 回文串题目的解析以及我的一些错误思考
- ORA-01103错误解析
- Qt creator 编译错误:无法解析的外部符号(命令)
- 一道多路归并算法分析的题目
- 一道切线和圆有关的几何证明题及解析解答
- HTTP请求错误400、401、402、403、404、405、406、407、412、414、500、501、502解析
- 一道有趣的题目,看看你的观点是分别开出拿些人?