a - checks whether input is defined for function b
if (a) {
    if (b) {
        /* ... */
    }
}
clearly works.
Does the &&-operator always check the first input?
if (a && b) {
    /* ... */
}
Would this possibly cause undefined behaviour from b function?
 
     
     
     
    