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,从而导致访问内存越界,后果未知。
无语了,俺解释不了了。
还是无语。
转载请注明原文地址: https://ibbs.8miu.com/read-2266165.html