C++中,数组名代表首元素的地址,那为何cout字符数组名输出的确实整个数组?而不是首元素?

C++中,数组名代表首元素的地址,那为何cout字符数组名输出的确实整个数组?而不是首元素?请大神指点下... C++中,数组名代表首元素的地址,那为何cout字符数组名输出的确实整个数组?而不是首元素?请大神指点下 展开
 我来答
匿名用户
2018-03-05
展开全部
cout不是iostream中的吗?
#include <iostream>

using namespace std;

int main(){
char ch[]="hello world!\0";
cout<<ch<<endl;//整个字符串
cout<<ch[0]<<endl;//第一个字符‘h’
cout<<&ch<<endl;//地址

return 0;
}
更多追问追答
追问
那是否数值数组也是一样的呢?
追答
那要看cout对运算符(

class ostream
{
public:
ostream(){}
virtual ~ostream(){}

ostream operator<<(char *pchr){
while(pchr[0]!=0){
printf("%c",pchr[0]);
++pchr;
}
return *this;
}

ostream operator<<(int *pint){
printf("%s","我是这样处理的!");
}
};

static ostream cout;

int main(){
char endl[]="\n\0";
char ch[]="hello world!\0";
cout<<ch<<endl;

int num[]={1,2,3,4,5};
cout<<num<<endl;

return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式