// Clause: 6.5.2.2 — calling a function through a pointer to a type not compatible with the type of the called function is undefined.
#include <stdio.h>
int f(void){ return 42; }
int main(void){
    int (*g)(int) = (int(*)(int))&f; // incompatible type
    int r = g(7); // UB
    printf("%d\n", r);
    return 0;
}
