Overleg:Programmeren in C/If en loops

Uit Wikibooks
Naar navigatie springen Naar zoeken springen

If then else vergelijking[bewerken]

Bij vergelijkingen vooral bij beginners gaat er nogal weleens wat fout bij vergelijking omdat men maar een enkel vergelijkteken neerzet ipv twee vergelijktekens. Het aanleren om een vergelijk te schijven als een "waarde == variabele" ipv "variabele == waarde" kan aardig wat beginnende programmeurs helpen bij gemakkelijk bugs.

De compiler en runtime gaan beide regels goed, maar de laatste optie is altijd waar zonder dat de compiler stopt en op zijn best een waarschuwing geeft.

if (optie == 1) /* deze code wordt alleen uitgevoerd als de optie 1 is: */
if (optie = 1) /* deze code wordt alleen uitgevoerd als de optie 1 is: */

De volgende schrijfwijzige geeft hetzelfde resultaat bij de eerste regel, maar bij de tweede regel geeft de compiler terecht een error.

if (1 == optie) /* deze code wordt alleen uitgevoerd als de optie 1 is: */
if (1 = optie) /* deze code wordt alleen uitgevoerd als de optie 1 is: */

Misschien is het te overwegen om voorbeelden en teksten om zo in te richten om mensen dit aan te leren.

(w.g. "Hspaans")
Dat is het inderdaad ! Ik ben zelf niet zo bekend met C, maar deze techniek kende ik (nu je het zegt... ;-) ). Als jij dat - in alle artikelen over C - zou willen wijzigen, graag... - Erik Baas 26 mrt 2009 22:23 (CET)[reageer]
Informatie afkomstig van http://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.