【发布时间】:2016-11-02 22:23:30
【问题描述】:
我无法理解这个程序的输出:
void main(){
double d=3.1416;
char ch=*(char*)&d;
cout<<ch;
}
输出:2
注意:2 比通常的 2 小很多。
你能解释一下第 3 行的含义吗? 谢谢。
【问题讨论】:
-
你的注释是什么意思?您是否尝试过自己理解这一点?
-
打印指针地址使用
cout<<(void*)ch;。不过,从这种情况来看,这条线毫无意义。 -
你的意思是你看到的2是上标2吗?
-
你不能通过随机挑选一些你不理解的代码并要求互联网上的人解释它们来学习
C++。您需要将自己应用于从一开始就解释一切的课程或书籍。推荐书籍:stackoverflow.com/questions/388242/… -
是的,2是2的上标。