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

扫描二维码关注公众号,回复: 3896891 查看本文章

1

4

6

 

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

 

猜你喜欢

转载自www.cnblogs.com/Tang-tangt/p/9895959.html