看看这个怎么改啊?执行不出来

zhouhong0801 2007-09-29 07:39:50
我看到的面试题,有两个,是要写出运行结果的,但是现在运行出错,不知道怎么改才对。

1、char * str1="hello";
char * str2="hello";
*str1='p';
cout<<str2<<str1<<endl;

2. char * str="hello, world!";
strcpy(str,"hi");

麻烦看看按照出题的原意,这个应该输出什么呢?
...全文
83 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jokesyang 2007-09-30
  • 打赏
  • 举报
回复
这都存在常量区的东西,不能随便改哦,要么编译器会报错的,要么就没结果输出。
zg351229063 2007-09-30
  • 打赏
  • 举报
回复
1. *str1= 'p '; 给只读内存赋值,根据编译器不同,可能无法通过编译或结果未定义。
2. strcpy(str,"hi"); 同样给只读内存赋值。
这是哪出的题,怎么两个地方出同样的问题,估计不是什么大公司。
zhouhong0801 2007-09-29
  • 打赏
  • 举报
回复
原来是要直接写出运行结果的,不是改错。貌似还是Intel的题呢,我在VC6运行不通过,如果要一个编译环境来规范的话,那就VC6好了
yydrewdrew 2007-09-29
  • 打赏
  • 举报
回复
应该异常吧
写存放常量的内存区域不行吧
al0n9 2007-09-29
  • 打赏
  • 举报
回复
本来就是让你改错的题目吧?或者让你指出错误在哪里。
访问只读内存,结果未定义。可能会出错,也可能不会出错。具体看在什么环境下编译运行。
gs0038 2007-09-29
  • 打赏
  • 举报
回复
没编译器不敢说话

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧