C : sizeof returns unsigned
見つけにくいバグ以下のCodeを見てください。
さて、なんと表示されるでしょうか?
答えは、"100"ではなく、"0"になります。
#include <stdio.h>#include <stdlib.h>int array[] = {12, 23, 45, 67, 89};#define TOTAL_ELEMENTS sizeof(array)/sizeof(array[0])int main() { int d = -1; int x = 0; if(