cout 之怪现象

morris88 2009-04-11 03:26:09

#include <iostream>
using namespace std;

int main(void)
{
char myByte = 0;
int myInt = 0;

cout << "hello world\n" << endl;

cout << "myByte=" << myByte << endl;
cout << "MyInt=" << myInt << endl;

return 0;
}


输出结果非预期,为什么?

myByte=
myInt=0
...全文
189 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
morris88 2009-04-11
  • 打赏
  • 举报
回复
各位辛苦了,我试试怎么发帖啊...
结贴啦...
ericming200409 2009-04-11
  • 打赏
  • 举报
回复
敢问楼主预想的结果是啥?
cdab1986 2009-04-11
  • 打赏
  • 举报
回复
数字0转换成char类型就变成了NULL(对照ASC码),就是个空字符,
cloudtomcat 2009-04-11
  • 打赏
  • 举报
回复
char myByte =应该输入'0';你输的是0,当然出不来结果喽
newborn2012 2009-04-11
  • 打赏
  • 举报
回复
这有什么怪的嘛
  • 打赏
  • 举报
回复
char myByte = 0; ASC码0,就是NULL
int myInt = 0; 数字0
mengde007 2009-04-11
  • 打赏
  • 举报
回复
char myByte = 0;
将整数0强制转换为char类型,对应的就是空格
LemIST 2009-04-11
  • 打赏
  • 举报
回复
如果要打印数字字符0 则应该写成 char mybyte = '0';
char mybyte = 0 其实就是char mybyte = '\0';
zbing0203 2009-04-11
  • 打赏
  • 举报
回复
char myByte = 0;
-----------
应该是输出ascii码为0的字符
buyiwangzi 2009-04-11
  • 打赏
  • 举报
回复
有什么好奇怪的。0转换为char肯定是null了。null再转换是char。你说什么?
wangyadong 2009-04-11
  • 打赏
  • 举报
回复
不是非预期 asc码中值为0字符的是非可打印字符,你看不到的

65,186

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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