LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 741|回复: 2

请问一个面试时关于strcpy的问题

[复制链接]
发表于 2006-2-17 19:50:10 | 显示全部楼层 |阅读模式
今天面试,问到
int main()
{
char * p1,p2;
p1="hello,world!";
strcpy(p2,p1);
printf("%s",p2);
return 1;
}

显示为何物,为什么,我觉得不是hello,world但不知原因,请高手指点。
发表于 2006-2-17 20:24:48 | 显示全部楼层
第一行应该是char *p1, *p2 吧~

p1指向字符串常量hello world, 但p2仅仅是个字串指针,没有分配空间,所以strcpy很可能会失败(如段错误)。
如果要问print p2显示何物,可以说是“未定义”
回复 支持 反对

使用道具 举报

发表于 2006-2-17 23:19:46 | 显示全部楼层
1. 第三行应该是 char *p1, *p2;
2. 会显示段错误。因为p2没有分配地址空间,是个野指针。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表