Every expression in c has a corresponding types and here: A&&B is of integer(int)
type regardless of the types of a and b.
Try- printf(“%d, a&&b);
This above statement is a logical assertion so the types of any logical assertion is either true or false which is 0 or 1. “!” in c language not is a unary operator, as it takes only one argument.
If a = 0 then !a = 1 and vice versa.
If (!((a%3) == 0)) { printf(“not divisible by 3”);}