#include "stdafx.h"
#include<stdio.h>
int aarray[]={1,2,3,4,5,6,7,8};
#define SIZE (sizeof(aarray)/sizeof(int))
int main()
{
printf("%d\n",SIZE);
if(-1<=SIZE)printf("1\n");
else printf("2\n");
return 0;
}
なぜ2が印刷されますか? SIZEは-1より大きい8なので、1を出力するはずですが、なぜ2を出力していますか?私の理解を助けてください。マクロをcで使用する
ありがとうsidyllとcnicutar。 – Angus