I2C between Trinkets and Mega not working

ARE YOU SURE IT SHOULDN'T BE if(c==0) ?

if ( 0 == c )

is perfectly valid, and is recommended practise by some experts. Possibly, the same experts who recommend ++i instead of i++, for no good reason in 99.9% of usages.

The ostensible reason for writing this way, is that if you write ( by mistake )

if ( 0 = c )

you will get a compilation error.

But if you write ( also by mistake )

if ( c = 0 )

then you won't get a compilation error, you will get a bug which sometimes may be very difficult to track down.