还是关于浮点数

    技术2025-05-27  22

    main() { printf("%f/n",5); //printf("0x%x/n",-12.5); }

    按照《程序员面试宝典》12.1例题1中的说法,printf的参数5为int型,在栈中占4个bytes,而%f代表的float类型在printf中会被自动转换为double类型,从而本程序中的语句要从栈中取8个bytes,从而导致访问内存越界,后果未知。

    无语了,俺解释不了了。

    还是无语。

    最新回复(0)