Желательный код для второй строки
i = l = j = k = 0; тогда a = 0, i = 1, l = 1, j = 0, k = 0, т. к. постфиксный инкремент j++ не выполняется вообще ввиду того, что оператор && выполняется по сокращённому принципу. Т. е. если левый операнд равен false, то и всё выражение равно false и в вычислении правого операнда нет смысла, поэтому j останется равным 0. Постфиксный инкремент выполняется в выражении последним. Оператор || также вычисляется по сокращённому принципу. Т. е. если левый операнд равен true,то дальнейшее вычисление прекращается и всё выражение принимается за истину, в противном случае требуется вычислять правый операнд. Поэтому инкремент l++ выполняется, но также значение переменной будет изменено только после выполнения оператора присваивания. Так как все операнды на момент выполнения оператора присваивания в выражении равны 0, после его вычисления, то результатом выражения будет false, что при неявном приведении типа к int будет равным 0.