Gamestudio Links
Zorro Links
Newest Posts
Help with plotting multiple ZigZag
by degenerate_762. 04/30/24 23:23
M1 Oversampling
by 11honza11. 04/30/24 08:16
Trading Journey
by howardR. 04/28/24 09:55
Zorro Trader GPT
by TipmyPip. 04/27/24 13:50
Data from CSV not parsed correctly
by jcl. 04/26/24 11:18
Why Zorro supports up to 72 cores?
by jcl. 04/26/24 11:09
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
1 registered members (AndrewAMD), 927 guests, and 0 spiders.
Key: Admin, Global Mod, Mod
Newest Members
firatv, wandaluciaia, Mega_Rod, EternallyCurious, howardR
19050 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
"Fence Post Error" + String!?!?!? #189984
03/23/08 17:42
03/23/08 17:42
Joined: Oct 2002
Posts: 361
Germany Cologne
hack-panther Offline OP
Senior Member
hack-panther  Offline OP
Senior Member

Joined: Oct 2002
Posts: 361
Germany Cologne
Guten Tag

Ich habe hier ein kleinen Code mit einem extra eingebauten Fehler drin:
Code:

int Normaler_Array[#2];

function main()
{
if(Normaler_Array[2]>=1) //Falscher Array-Index wird abgefragt (Beabsichtigter "Fence Post Error")
{
sys_exit(""); //Bye Bye
}
}



Dieser Fehler wird nicht vom Compilierer gemeldet und
die IF-Schleife wird natürlich nicht ausgeführt.

Hier nochmal fast der selbe Code:
Code:

int Normaler_Array[#2];
STRING* Normaler_String = "#100"; //Unschuldiger String mit großer Auswirkung

function main()
{
if(Normaler_Array[2]>=1) //Falscher Array-Index wird abgefragt (Beabsichtigter "Fence Post Error")
{
sys_exit(""); //Bye Bye
}
}


Jetzt ist ein einfacher String dazu gekommen...
Was passiert wohl jetzt?
Dürfte doch eigentlich keine Auswirkung haben...

Aber doch...

Die IF-Schleife wird ausgeführt...

Durch den String bekam Normaler_Array[2] plötzlich den Wert 16001.


Ihr bekommt den Fehler jetzt schön zusammengefasst in 10 Zeilen zu sehen,
aber mir ist dieser Misst bei einem komplexen Code mit über 10.000 Zeilen
passiert und ich habe fast den ganzen Tag gebraucht um
herauszufinden woran es liegt.

Re: "Fence Post Error" + String!?!?!? [Re: hack-panther] #189985
03/28/08 09:59
03/28/08 09:59
Joined: Jul 2000
Posts: 27,986
Frankfurt
jcl Offline

Chief Engineer
jcl  Offline

Chief Engineer

Joined: Jul 2000
Posts: 27,986
Frankfurt
Das nennt man das "Garbage in, Garbage Out" Prinzip. Zugriff auf ein nichtexistierendes Array-Element liefert entweder einen Zufallswert zurück, oder eine Crash-Meldung.

Ihr "Fencepost" hat damit nichts zu tun - er wird vom Compiler schlicht ignoriert.

Re: "Fence Post Error" + String!?!?!? [Re: jcl] #189986
03/28/08 11:22
03/28/08 11:22
Joined: Oct 2002
Posts: 361
Germany Cologne
hack-panther Offline OP
Senior Member
hack-panther  Offline OP
Senior Member

Joined: Oct 2002
Posts: 361
Germany Cologne
Achso, wieder mal was dazugelernt...

Aber wieso entsteht dieser Zufallswert erst nach der String deklaration?
Ohne den String ist der Wert immer 0.

Ich würde eine Crashmeldung einem Zufallswert vorziehen,
aber leider ist dies wohl nicht möglich.

Das ist wirklich verhext wenn das in einem großen Code passiert,
aber nun weiß ich ja bescheid und bin was vorsichtiger bei den Arrays.


Moderated by  HeelX, Lukas, rayp, Rei_Ayanami, Superku, Tobias, TWO, VeT 

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1