2017年6月26日
摘要: (1) 2~4分 (2)7~8分 (3)10分 阅读全文
posted @ 2017-06-26 16:36 王小东大将军 阅读(326) 评论(0) 推荐(0) 编辑
摘要: 分析:因为strlen的结果未统计'\0'所占用的1个字节。只有把程序中的<=改为<,这样可以保证str1最末尾的字符是\0,因为strcpy函数是从源地址开始拷贝,直到遇到\0为止。 阅读全文
posted @ 2017-06-26 16:15 王小东大将军 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 分析下述代码: 代码不能通过编译。str1为char *const类型的右值类型,根本不能赋值。若想对数组的第一个元素赋值,需要使用*str=‘a’;对字符数组赋值后,使用库函数strcpy进行拷贝操作,strcpy会从源地址一直往后拷贝,直到遇到‘\0’为止。所以拷贝长度是不定的。如果一直没有遇到 阅读全文
posted @ 2017-06-26 11:23 王小东大将军 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 上述代码问题? 字符串str1需要11字节才能存放下(包括末尾的‘\0’),而string只有10个字节的空间,strcpy会导致数组越界。 分析: 代码本身没有错误,如果将str1拷贝到string中,string的长度会增加,并且也可以正确的输出string。 但是存在潜在的危险,string定 阅读全文
posted @ 2017-06-26 11:13 王小东大将军 阅读(448) 评论(0) 推荐(0) 编辑