printf函数常量堆栈是咋样进行的

例1中,n1和n2均以double型压栈(float自动扩展为double),所以打印结果的四个数字依次为n1的低32位,n1的高32位,n2的低32位,n2的高32位。因为n1,n2值一样,所以其double表示的低位和高位也是相等的例2中,所有整形值都以int型压栈,根据printf制定的类型%d,%hd,%c取数分别取四字节,两字节,和一字节。题目的两个考点1,压栈时int以内的整形变量都以int型压栈,常数当int型。float和double都以double压栈(float自动扩展)2,printf按照指定类型(大小)去解释栈上的数值。
■网友
题目是错的涉及未定义行为结果没有意义 在大端上运行和在小端上运行结果不同
■网友
理解题主的意思,不过堆和栈是不一样的


    推荐阅读