Tips och Trick i C: Skillnad mellan sidversioner
Anders (diskussion | bidrag) Ingen redigeringssammanfattning |
Anders (diskussion | bidrag) Ingen redigeringssammanfattning |
||
Rad 2: | Rad 2: | ||
== Tilldelning == | == Tilldelning == | ||
Problem: I C är syntaxen för tilldelning, =, och för jämförelse, ==, lika nog för att ett litet misstag skall direkt orsaka rejäla problem. Ett exempel är jämförelser inuti if()-satser som kan orsaka smärre katastrofer om man slarvar. | Problem: I C är syntaxen för tilldelning, =, och för jämförelse, ==, lika nog för att ett litet misstag skall direkt orsaka rejäla problem. Ett exempel är jämförelser inuti if()-satser som kan orsaka smärre katastrofer om man slarvar. | ||
Versionen från 24 februari 2013 kl. 14.16
Denna sida är under konstruktion och ej färdig ännu och därför kan väsentliga detaljer fortfarande saknas. |
Tilldelning
Problem: I C är syntaxen för tilldelning, =, och för jämförelse, ==, lika nog för att ett litet misstag skall direkt orsaka rejäla problem. Ett exempel är jämförelser inuti if()-satser som kan orsaka smärre katastrofer om man slarvar.
Ponera att vi vill jämföra en variabel a med värdet 5 för att se om variabeln har samma eller ett annat värde. Vi slarvar dock och råkar i stället skriva:
if(a = 5)
Om variabeln a är av sådant slag att jämförelsen fungerar så fungerar även tilldelningen. I ovanstående tilldelas a värdet 5 och eftersom det är skilt från noll innebär det att satsen alltid kommer vara sann.
if(5 = a)
Skriver man på ovanstående sätt så kommer man direkt få ett kompilatorfel vilket gör att hela problemet kan undvikas. Anledningen är naturligtvis att variabeln a:s innehåll ej kan tilldelas en konstant som 5.