Te felfogtad, hogy itt nem az egy sor vs több sor a probléma, hanem a side effects kód?
Lehetne ez is a köd:
if (cucc && *cucc && Kutya(--(*cucc)) && Cica(--(*cucc)) {...}
ez is tök jól olvasható épp csak tippelni lehet, hogy vajon mi fog itt történni, nem módosít-e valahol valami olyat, ami miatt már nem az fog történni, amire számít az ember.