Se ho capito bene devi verificare se un numero a 64 bit ha i bit in posizione pari settati a 0 e non puoi fare assegnamenti con valori => 64.
unsigned long long mask = 1;
printf("Inserire un numero: ");
unsigned long long n;
scanf(" %llu",&n);
unsigned int flag = 0;
for(int i = 0;i i < 32 && flag == 0; i+= 2)
{
flag =( mask << i ) & n;
}
printf("Condizione rispettata: %u\n",flag);
GCC 5.2 e standard C99/C11
EDIT: OPS flag supera 64,fai un modifica e sei a posto