笔试之const问题

 

1 、

const int i=0;
int *j=(int *)&i;
*j=1;
cout<<i<<*j<<endl;

 

答案i为0,*j为1。

 

2、

    char * const p="hello";
    *p='W';
    cout<<*p<<endl;

编译通过,运行出错。

const修饰指针,指针不能改变指向,但是可以通过指针改变变量值。但由于指针p指向字符串,字符串位于常量区,所以不可修改,运行出错。

 

posted @ 2018-05-22 20:11  eeeeeeee鹅  阅读(208)  评论(0编辑  收藏  举报