读书人

看看这个如何改啊执行不出来

发布时间: 2012-04-07 17:31:50 作者: rapoo

看看这个怎么改啊?执行不出来
我看到的面试题,有两个,是要写出运行结果的,但是现在运行出错,不知道怎么改才对。

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

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

麻烦看看按照出题的原意,这个应该输出什么呢?

[解决办法]
本来就是让你改错的题目吧?或者让你指出错误在哪里。
访问只读内存,结果未定义。可能会出错,也可能不会出错。具体看在什么环境下编译运行。
[解决办法]
1. *str1= 'p '; 给只读内存赋值,根据编译器不同,可能无法通过编译或结果未定义。
2. strcpy(str,"hi"); 同样给只读内存赋值。
这是哪出的题,怎么两个地方出同样的问题,估计不是什么大公司。

读书人网 >C++

热点推荐