Je hebt een klacht over de onderstaande posting:
@ 00:02 door anoniem: beschikken alle C-compilers dan over een secure integer library? Nadeel kan ook zijn dat sommige optimalisaties niet meer plaatsvinden? @ 00:55 door johan w: volgens mij is het wel aan de orde. Lees nog maar eens goed de 3 eerst keuzes op de oorspronkelijke vraag... (daarbij ben ik zo vrij om "TRUE" te vertalen naar "waar", en "FALSE" naar "niet waar") @ 09:28 Erik van Straten: Zo is het, behalve dat ik het gebruik van "TRUE" en "FALSE" hekel zoals je al hebt gemerkt. Het gaat er in programmeertaal C om of de uitkomst van een conditie gelijk is aan 0 of ongelijk aan 0, waarbij de uitkomst 0 betekent: "de gestelde conditie voldoet niet", en alle andere uitkomsten (dus ongelijk aan 0) betekenen: "de gestelde conditie voldoet". In plaats van if(a + b < a) vond ik deze oplossing duidelijk en completer: #include <limits.h> int safe_add(int a, int b) { if (a > 0 && b > INT_MAX - a) { /* handle overflow */ } else if (a < 0 && b < INT_MIN - a) { /* handle ...
Beschrijf je klacht (Optioneel):