看看这个怎么改啊?执行不出来
我看到的面试题,有两个,是要写出运行结果的,但是现在运行出错,不知道怎么改才对。
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"); 同样给只读内存赋值。
这是哪出的题,怎么两个地方出同样的问题,估计不是什么大公司。