小编Ars*_*nic的帖子

为什么 char 类型变量的打印引用会返回其中的值?

代码片段:

#include <iostream>

int main()
{
    char c = 50;
    int i = 50;

    std::cout<<&c<<"\n";
    std::cout<<*(&c)<<"\n";
    std::cout<<&i<<"\n";

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

预期输出:

<memory_address>
2
<memory_address>
Run Code Online (Sandbox Code Playgroud)

原始输出:

2
2
0x7ffee0504ac4
Run Code Online (Sandbox Code Playgroud)

困惑 :

我认为&在这种情况下应该返回变量的引用,打印哪个(根据我的说法)应该给我一个内存地址,这对于其他数据类型的变量来说是正确的intfloat并且double

那么为什么在 type 的情况下char,它会显示其中的值呢?


编译器 = clang-1103.0.32.62

c++ reference

1
推荐指数
1
解决办法
43
查看次数

标签 统计

c++ ×1

reference ×1