假设已经有定义“const char * const name="Zhang";”,下面的语句中正确的是( )。 A. name[3]='a'; B. name="lin"; C. name=new char[5]; D. cout<<name[3];
时间: 2023-06-16 22:04:54 浏览: 74
正确的语句是D. `cout<<name[3];`,因为该语句输出字符串`name`中下标为3的字符,即字母"g"。其他选项都是错误的:
A. `name[3]='a';` 会导致编译错误,因为`name`是一个指向常量字符的指针,无法修改其指向的数据。
B. `name="lin";` 也会导致编译错误,因为`name`是一个指向常量字符的指针,无法修改其指向。
C. `name=new char[5];` 会导致内存泄漏,因为在赋值之前并没有释放`name`原来指向的内存空间,同时也会导致`name`指针的类型发生改变,不再是指向常量字符的指针。
相关问题
假设已经有定义“char *const name="Zhang";”,下面的语句中正确的是( )。 A. name[4] = 'a'; B. name="chen"; C. name = new char[6]; D. name = new char[a];
正确答案是 A。原因是,定义“char *const name="Zhang";”时,name指针被指定为常量指针,指向的内存空间中的值可以被修改,但指针本身的值不可以被修改。因此,选项A中修改了name指针指向的内存空间中的值,是合法的操作;而选项B中试图修改name指针本身的值,是不合法的操作;选项C和D中试图修改name指针指向的内存起始地址,也是不合法的操作。
假设已经有定义“const char *name="Zhang";”,下面的语句中错误的是( )。 A. name[2]='q'; B. name="Li"; C. name=new char [6]; D. name=new char('q');
在定义“const char *name="Zhang";”时,我们将name指向了一个字符串常量"Zhang"。由于这是一个字符串常量,因此不能更改其中的字符。因此,选项A中的语句是错误的。选项B中的语句尝试将name指向一个新的字符串常量"Li",但由于name是一个指向常量的指针,因此不能更改它所指向的内存地址,因此该语句也是错误的。选项C中的语句分配了一个新的字符数组,并将其地址赋给name,这是可以的。选项D中的语句分配了一个新的字符'q',而不是一个字符数组,因此也是错误的。因此,正确的选项是C。
相关推荐
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)