The value of check_expression is returned if it is not NULL, otherwise, replacement_value is returned. If the types are different, ...