|
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
sly.666
Anmeldungsdatum: 21.06.2007 Beiträge: 1
|
Verfasst am: 21.06.2007, 19:51 Titel: Call SUB Programm |
|
|
Hallo;
ich bin absoluter Anfänger!
Folgendes Programm verstehe ich nicht ganz!
DECLARE SUB test (x1!, y!)
CLS
a = 10
CALL test(a, b)
CALL test(a, b)
PRINT "a="; a, "b="; b
END
SUB test (x1, y)
x1 = x1 + 1
x2 = x2 + 1
y = x2
END SUB
Das Programm zeig nach Durchlauf für a=12 und b=1 an!
Warum?
Insbesondere verstehe ich nicht was er mit den variablen anstellt!
Was passiert wenn hinter SUB test (x1, y) STATIC steht?
Wie sind die Abläufe im Programm?
Danke |
|
Nach oben |
|
|
nemored
Anmeldungsdatum: 22.02.2007 Beiträge: 4597 Wohnort: ~/
|
Verfasst am: 21.06.2007, 21:44 Titel: |
|
|
Mit dem ersten CALL-Aufruf wird a nach x1 übergeben, daraufhin x1 um 1 erhöht, womit nach dem Aufruf der SUB der Wert von a 11 ist (10+1). x2 wird nicht deklariert, hat also zunächst den Wert 0. Wird um 1 erhöht und dann y=x2 gesetzt. Also ist y=1. Weil du vorher b für y übergeben hast, ist b auch 1.
Beim zweiten CALL-Aufruf ist a schon 11 und wird wieder (wie oben) um 1 erhöht, x2 ist wieder 0 (Werte innerhalb der SUB werden nicht über die SUB hinaus gespeichert), weshalb aus b wieder (wie oben) 1 wird. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|