如何计算输出?

时间:2018-07-30 18:51:19

标签: c++ c++11

cout<<"dbba" - "bcx";

在C ++中,这里的输出是-5。

我想知道此输出是如何计算的?

1 个答案:

答案 0 :(得分:6)

代码的行为是不确定的。

字符串文字的类型分别为const char[5]const char[4]。这些 decay 指向const char*的指针,因为它们是二进制运算符-的参数。

计算两个指针之间的差是不确定的,除非它们指向同一数组中的元素(或指向数组最后一个元素之外的元素)。在这种情况下,可以将一个对象视为一个单元素数组。