#define WDH 10
Das ist eine Anweisung an den Compiler, "WDH" durch "10" zu ersetzen. "WDH * 2" kann durch "20" ersetzt werden. Also ja. Die Verwendung von WDH ist nur für uns Menschen relevant, der Compiler optimiert das weg, da bleibt nur die Zahl übrig.
5 % 20 = 5
19 % 20 = 19
20 % 20 = 0 // Rücksetzen des Zählers auf 0
25 % 20 = 5 // Sollte nicht erreicht werden, nur zur Erklärung, der Divisionsrest bleibt übrig.
Man kann das auch mit if/else oder max = a > b ? a : b; machen, alles Geschmacks- und Übungssache.