Das Fragezeichen ist in C so eine Art IF ... Then .... Else...., nur hat für Werte. Bei einem Ausdruck A ? B : C wird erst A ausgewertet, wenn A = 0 ist kreigt der Ausdruck den Wert von C, sonst von B.
Wenn der Ausdruck einefach nur einer Variable zugewiesen wird kann man die Klammer außen wohl weglassen, in einem IF , While oder so natürlich nicht. Aber ein paar Klammern mehr als nötig sind ja nicht so schlimm, wie eine zu wenig.