Why is this c program NOT causing a segmentation fault with alphanumeric values? : In its simplest form the program is
 
    int main(){
        int x;
        scanf("%d",x);
    }

when we give this program any numeric value as input it fails by producing a segfault signal which is what we should expect. 

But if we instead give it any alphanumeric value it DOES NOT fails !!! 

what is going on in the scanf that produces this behavior ? 

This is the backtrace from gdb when running it with a numeric value

(gdb) bt

 #0  0x00000034e7456ed0 in _IO_vfscanf_internal () from /lib64/libc.so.6

 #1  0x00000034e74646cd in __isoc99_scanf () from /lib64/libc.so.6

 #2  0x0000000000400553 in main ()


So why is it NOT failing for any alphanumeric value like 'a' or 'dfgb'? 