免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: yyjjss
打印 上一主题 下一主题

今天去华为面试,遇到了一个题,大家看看 [复制链接]

论坛徽章:
0
91 [报告]
发表于 2007-08-15 11:15 |只看该作者
原帖由 yawn3000 于 2007-8-14 00:33 发表
作为一个版主,不倡导大家进行技术方面的讨论,却主动根据未确定的、不明原因的消息来批评一个国内技术领先的公司。不觉得脸红吗?

我也觉得CU的达人都不怎么喜欢HW,但是它作为中国有巨大影响力的公司,我们应该尊敬它才是,而不是打击它,对吧?

论坛徽章:
0
92 [报告]
发表于 2007-08-15 11:27 |只看该作者
原帖由 Kendiv 于 2007-8-14 22:02 发表
煞笔啊,去华为找死啊,一群煞笔!!!

建议封了它!!

论坛徽章:
0
93 [报告]
发表于 2007-08-17 14:59 |只看该作者
原帖由 yyjjss 于 2007-8-13 14:00 发表
#include
#include
                     
int main(void)
{
   
char * str1="6789";
char * str2="123456789";
strcpy(str1,str2);
printf("str1=%s\n",str1);
printf("str2=%s\n",str2);
    ...



本来就没问题,str1和str2是从堆上分配出来的,strcpy(str1,str2);str1越界刚好在str2的空间上!

论坛徽章:
0
94 [报告]
发表于 2007-08-17 15:00 |只看该作者
鸟啼

论坛徽章:
0
95 [报告]
发表于 2007-08-17 23:12 |只看该作者
个人意见:

论坛徽章:
0
96 [报告]
发表于 2007-08-17 23:14 |只看该作者
个人意见:字符串常量存在代码段中,这两个字符串是不可写的。所以strcpy根本无法执行。
看法是否正确请高手指教。

论坛徽章:
0
97 [报告]
发表于 2007-08-18 00:02 |只看该作者
这个题目出得太菜了。原来笨人也可以去华为的!
说不定出这个题目本来是想考考strcpy第一个参数是目标参数还是源参数
结果不小心出错了。

[ 本帖最后由 cviolet 于 2007-8-18 00:03 编辑 ]

论坛徽章:
0
98 [报告]
发表于 2007-08-19 11:59 |只看该作者
原帖由 leojay 于 2007-8-13 14:22 发表
最恨别人问这种跟编译器具体实现相关的问题。尤其是在面试的时候。

这个问题我感觉跟编译器对常量字符串的存放方式的具体实现有关:
题目中str1所指的常量字符串是str2所指的常量字符串的最后一部分,那么, ...

论坛徽章:
0
99 [报告]
发表于 2007-08-19 12:07 |只看该作者
那啥的,常字符串是在堆上分的?
再那啥的……搞不清有没有问题,鬼知道2个字符串是不是连在一块,以及那段是不是可写的……
不过要真有人写出这样的代码,应该TJJTDS

论坛徽章:
0
100 [报告]
发表于 2007-08-19 12:13 |只看该作者
Ubuntu 7.04
GCC 4.1
--------------------------------------------
without  <string.h>:
                        1.warning~
                        2.segmentation fault~
                        3.core dumped

<string.h>added:
                        1.core dumped


--------------------------------------------
其他编译器没试过。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP