Sida 2 av 2

Re: Hur radera alla variabler på en linje?

Postat: 29 mars 2014, 01:12:26
av Al_Bundy
Det är väll nu goto är till hjälp?

Re: Hur radera alla variabler på en linje?

Postat: 29 mars 2014, 01:38:07
av sodjan
Inte nödvändigtsvis. Koden är lite för lång som ett "test case",
men lite snabbt så ser man ju dock att anropen är lite tokiga.
Olika funktioner som anropar varandra...

Försök skala ner det hela till enbart anropen och bygg logiken därefter.
Sedan kan du fylla på med funktionalliteten.

Varje funktion har enbart *en* ingång och *en* utgång. Den kan
sedan ha anrop till andra funktioner men alla funktioner måste alltid
komma till sitt eget slut i alla fall. Det går inte att hoppa ur en
funktion halvvägs igenom!

Re: Hur radera alla variabler på en linje?

Postat: 29 mars 2014, 02:00:13
av Al_Bundy
Tackar!

Jag får träna på mer programmeringslogik imorgon! :)

Egentligen så borde C ha en liten specialfunktion så man slipper anpassa sig hela tiden efter planeringen. Det gör det definitivt enklare och snabbare att programmera.

Typ t.ex om man skriver end(funktionen_1()); så betyder det att efter programmet går in på denna funktion, men inte anropar. :)
Skulle vara smidigt!

Re: Hur radera alla variabler på en linje?

Postat: 29 mars 2014, 08:48:04
av Nerre
Al_Bundy skrev:
Nerre skrev:Även en nydeklarerad variabel har ett värde. Har man inte definierat värdet så är det odefinierat, det blir det värde som råkar finnas på den adress i RAM där variabeln placeras.
Så array[2]; innehåller vilka element då? {0,0,0}?
Läs raden ovanför din fråga en gång till.


Och goto är inte så bra att använda hur som helst. Med goto gör du enbart ett hopp i exekveringen, men allt som ligger på stacken kommer att ligga kvar, alla data som du lagt i variabler kommer att ligga kvar i RAM, globala variabler (och static variabler) kommer behålla sitt värde. Att göra en "reset" i ett program är med andra ord inte en helt trivial uppgift, i princip måste du veta vad du gjort fram till "resetpunkten" och sen göra en slags "rollback".

Jag minns att den bok om JSP jag läste tog upp det där, kodar man strukturerat enligt JSP så kan man hamna i situationer där man gjort en massa som behöver göras ogjort. Om jag inte minns fel gjorde man typ som en select-case-sats och allt man gjorde i början fick man koda en "ångring" av i "avbryt-steget".