在不同的PC上打印'\ 0'时会有不同的结果吗?

 无声胜有剩 发布于 2023-02-07 11:27

对于以下代码,在我的PC上,char \0将始终产生空格(使用时打印cout).但是,在我朋友的PC上,char的结果\0总是会产生一个char a.代码和截图如下:

#include 
using namespace std;

// Function main
int main()
{
    cout << "xxx" << '\0' << "yyy" << endl;
    return 0;
}

在此输入图像描述 在此输入图像描述

:在我的电脑上. 是的:在我朋友的电脑上.

这里发生了什么?为什么不同PC上的结果不同?

PS:

    即使我们共享相同的可执行exe文件(即在我的PC上编译并在两台PC上运行),结果仍然会有所不同.

    我们都使用visual studio 2010和相同的项目字符集.

    这里可能有一些缓冲区溢出,但请注意这样一个事实,即我总会得到一段space时间,我的朋友将永远得到一个字符a.

    如果我们都这样做,它共享相同的功能cout<.

Yu Hao.. 6

字符\0或ASCII 0不是可打印的字符,没有标准的输出方式.

从打印ASCII范围0x200x7E,看到维基百科:ASCII

1 个回答
  • 字符\0或ASCII 0不是可打印的字符,没有标准的输出方式.

    从打印ASCII范围0x200x7E,看到维基百科:ASCII

    2023-02-07 11:28 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有