You have both a global and local variable c.
volatile byte c; //global
int c = Wire.read(); //local to the ISR
Which one do you think is being compared to here?
if(c==51)
You need to brush up on the concept of "Scope"
https://www.arduino.cc/reference/en/language/variables/variable-scope--qualifiers/scope/