Было написано что-то вроде такого:

b=2;
c=3;
d=4;

Я решил в начало добавить присваивание для a. Но начало строчки я написал, а значение дописать забыл. Получилось:

a=
b=2;
c=3;
d=4;

И это спокойно скомпилировалось и заработало (правда, неправильно). А почему? Потому что Си поддерживает цепочечные присваивания. И где у программиста новая строка -- ему плевать. Он воспринял этот текст следующим образом:

a=b=2;
c=3;
d=4;