假定有“char * p="Hello";”,若要输出这个字符串的地址值正确的写法为()

作者:高老师 浏览 2

假定有“char * p="Hello";”,若要输出这个字符串的地址值正确的写法为()


A、

cout<<*p;


B、

cout<
C、

cout<<&p;


D、

cout<<(void*)p;


【正确答案】:D
【题目解析】:

char* 是声明一个字符类型的指针。这个指针指向的地址上只能存放字符类型的值。
由于C++标准库中I/O类对<<操作符重载,因此在遇到字符型指针时,会将其当作字符串名来处理,输出指针所指的字符串。既然这样,那么我们就别让它知道那是字符型指针,所以得用到强制类型转换,把char的指针转换为无返回值指针类型,即cout<<(void *)P,故选D。
A输出的是H;B输出的是hello;C输出的是指针的地址。


📱 扫码体验刷题小程序

微信小程序二维码

扫一扫使用我们的微信小程序

热门题目

已复制到剪贴板