只是因为前面的【y is %d】的类型使用错误,导致程序运行错误,所以后面的数显式不出来很正常,【y is %d】导致了缓存区域的错误所以后面的【z is %f\】无法正确显式出来
建议去看看《深入理解计算机系统》好像是前两章把,一句话讲不清楚。double是几个字节,int 是几个字节,%d 只取了double一半的字节,当然为零了。