kod undersökning
int siffra;
if(siffra == 0)
Console.WriteLine("Siffra är noll!");
else
Console.WriteLine("Siffra är inte noll!");
-vad kan ni kommentera om detta programm ? Programmet kommer att gå in i ELSE-satsen ?? Programmet kommer att gå in i IF-satser ? Programmet kommer inte att starta ?
Jag undersökte koden i visual studio och den startade inte så jag tror svaret ska vara att programmet kommer inte att starta . stämmer det ? och varför ?
När koden inte startar så kan det bero på att kompilatorn inte accepterade koden. I detta fall är det så. Vilket felmeddelande får du från VS?
Jag fick som felmeddelande :
Error CS0165 Use of unassigned local variable 'siffra' ConsoleApp7 . Jag fick också ordet "siffra" ( i andra raden ) rödmarkerad .
Men syntaxen ser ut korrekt och logisk . Jag undrar varför programmet startar inte .
Felmeddelandet betyder att syntaxen inte är korrekt, kompileringen slutförs inte och inget exekverbart program skapas. Därför startar inte programmet.
Det är viktigt att läsa och förstå felmeddelanden eftersom de oftast berättar exakt vad felet är. I detta fall används en variabel innan den tilldelats ett värde.
Det behövs exempelvis ser ut så här , för att koden fungera :
int siffra;
siffra = 4
if(siffra == 0)
Console.WriteLine("Siffra är noll!");
else
Console.WriteLine("Siffra är inte noll!");
stämmer det ?
Ja, det funkar (om du först sätter semikolon där de behövs).
Strängt taget är det inget fel på syntaxen, utan det är en analys lite senare som kompilatorn gör, men ibland kallar man alla sådana fel för syntaxfel.