考虑下面的代码:
#include<stdio.h>
int array[]={1,2,3,4,5,6,7,8};
#define SIZE (sizeof(array)/sizeof(int))
int main()
{
printf("%d",SIZE);
if(-1<=SIZE) printf("1");
else printf("2");
return 0;
}
我得到 82 作为输出,但是如果我在 if 子句中用 0 或非负数替换if(-1<=SIZE)
为if(0<=SIZE)
或表示 -1,那么我得到 81 作为输出。if(1<=SIZE)
为什么我得到不同的输出?