-
有段代码写成了下边这样,如果在只修改一个字符的前提下,使代码输出20个hello?
for(int i = 0; i < 20; i--) cout << "hello" << endl;
【答案】:
for(int i = 0; i + 20; i--) cout << "hello" << endl;
-
以下四行代码的区别是什么?
const char * arr = "123"; char * brr = "123"; const char crr[] = "123"; char drr[] = "123";
【答案】:
const char * arr = "123"; //字符串123保存在常量区,const本来是修饰arr指向的值不能通过arr去修改,但是字符串“123”在常量区,本来就不能改变,所以加不加const效果都一样 char * brr = "123"; //字符串123保存在常量区,这个arr指针指向的是同一个位置,同样不能通过brr去修改"123"的值 const char crr[] = "123"; //这里123本来是在栈上的,但是编译器可能会做某些优化,将其放到常量区 char drr[] = "123"; //字符串123保存在栈区,可以通过drr去修改