很简单的问题,不要笑我哈

朝三慕四 2010-06-22 10:30:55
void main()
{
size_t a,b;
a=sizeof(int);
b=sizeof(short);
cout<<a<<b<<endl;
cout<<a<<endl<<cout<<b<<endl;
}
刚看到一贴子,想一下求int 与short 的类型的大小,可是发现输出的东东有点怪,请指教一下
呵呵
在VC下我运行输出的结果是这样的:
42
4
0047BE942
走读代码发现a的值是4,b的值是2,为什么输出会这样,与输入输出流有什么关系吗?
...全文
70 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
朝三慕四 2010-06-22
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 thefirstz 的回复:]
cout<<a<<endl<<cout<<b<<endl;
这里写的不好,不应该有第二个cout,因为cout返回一个输出流的引用,否则输出a以后,就会变为cout<<cout<<b<<endl;
这里用cout输出自身,输出0047BE94,然后输出b的值,即输出2
[/Quote]
呵呵,码错了,看样子要多练习哈.........
cao_julians 2010-06-22
  • 打赏
  • 举报
回复
32位系统下int对应4字节、short对应2字节应该无疑义。
cout是流对象,0047BE94应该是它的地址编码,后面是b的值
liutengfeigo 2010-06-22
  • 打赏
  • 举报
回复
。。。

写了2个。。。
昵称很不好取 2010-06-22
  • 打赏
  • 举报
回复
cout<<a<<endl<<cout<<b<<endl;
这里写的不好,不应该有第二个cout,因为cout返回一个输出流的引用,否则输出a以后,就会变为cout<<cout<<b<<endl;
这里用cout输出自身,输出0047BE94,然后输出b的值,即输出2
liutengfeigo 2010-06-22
  • 打赏
  • 举报
回复
为什么是cout 的啊?
piaoliu 2010-06-22
  • 打赏
  • 举报
回复
cout<<a<<endl<<cout<<b<<endl;


cout 是输出流的指针(引用),这里输出了它的地址。
正确的形式应该还是:
cout<<a<<endl<<b<<endl;

流操作符可以连写
  • 打赏
  • 举报
回复
cout<<a<<endl<< cout <<b<<endl;

0047BE94这个是cout的
delphiwcdj 2010-06-22
  • 打赏
  • 举报
回复
打错了不好意思
int占用4个B, short是2B
  • 打赏
  • 举报
回复
void main()
{
size_t a,b;
a=sizeof(int); //4
b=sizeof(short);//2
cout<<a<<b<<endl;//4 2
cout<<a<<endl<<cout<<b<<endl; // 4 0047BE94 2 0047BE94这个是cout的
//cout<<a<<end;
//cout<<b<<endl;
}


delphiwcdj 2010-06-22
  • 打赏
  • 举报
回复
int占用2个B, short是4B

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧