#include <stdio.h>
#define DELTA sizeof(int)
int main()
{
int i;
for(i=40;i-DELTA>=0;i-=DELTA)
printf("%d",i);
}
sizeof(int)的返回类型:SIZE_T,SIZE_T是标准C库中定义的,应为unsigned int,在64位系统中为 long unsigned int。int默认为有符号型。当有符号型减去无符号型时有符号型会强制转换为无符号型,其结果也是无符号型,必然大于等于0,所以会是死循环。
i-DELTA会转化为无符号型,所以一直不会等于零。
这个怎么说也不可能是死循环的