C++之string面试问题

 

1、指针变量指向字符串常量的问题

代码如下:

char *p="123456";

问p[0]=2;是否可以?原因?

 

答案:不可以。“123456”是字符串常量,存储在常量区,其值不可更改。

 

2.sizeof求字符串长度问题

代码:

int main()
{
    char *p="123456";    

    cout<<sizeof("123456")<<endl;
cout<<sizeof(*p)<<endl; cout
<<sizeof(p)<<endl; cout<<strlen(p)<<endl;
return 0; }

win32编译器输出:

7

1

4

6

 

sizeof(指针变量)测定的是指针的字节数。strlen计算的是有效字符个数。

 

posted @ 2018-11-02 14:11  eeeeeeee鹅  阅读(368)  评论(0编辑  收藏  举报