c++ - 15和015有什么区别?

标签 c++ char output

<分区>

起初这似乎是一个愚蠢/微不足道的问题,但当我这样做时:

char f_gear = 15;

我得到了正常的输出

"☼"

但是当我声明它时用零填充它时:

char f_gear = 015;

我得到奇怪的输出,使文本看起来乱码(在一行中)并使前一行空白。当我尝试查看单个角色本身时,我得到以下信息:

"  ◘◘@╧S☻ "

有什么本质上的不同? 15==015 不是吗?

==编辑== 当我发布问题时,Stack Overflow 更改了文本。我真正看到的输出是几个空白字符。

最佳答案

不是,015指的是八进制数。所以,八进制的 015 等于十进制的 13。

所以,

char f_gear = 015;

相当于

char f_gear = 13;

关于c++ - 15和015有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15017119/

相关文章:

c++ - 具有不同大小的 boost::array 的不同实例是否会生成全新的类?

c++ - PyRun_SimpleString 因 def foo() : 而失败

c++ - 可变参数模板歧义 - 空参数包

angular - 最佳从 EventEmitter 事件重新进入 ngZone

bash - 如何取消终端中的长输出?

c++ - 如何从算法中找到递归关系

c++ - QByteArray 转换为 char(不是 char* 或 constChar*)

c++ - 如何将 char 数组文本存储在字符串中?

c++ - 添加到一个 int 会改变一个单独的 char 数组?

JAVA - 答案不是根据输出计算的?