Einzelnen Beitrag anzeigen

Benutzerbild von paule32.jk
paule32.jk

Registriert seit: 24. Sep 2022
Ort: Planet Erde
356 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: EMB DCE 12 - Bedingungen mit einen Assign-Zeichnen

  Alt 9. Okt 2024, 18:21
also rein logisch und mathematisch bedeutet ja = eine Zuweisung - zum Beispiel für Variablen:
v = 2.
C = v + v.
C = 2 + 2.
C = 4.

dann gibt es noch =/= was in C/C++ != oder in Pascal <> bzw. >= or <= entspricht.
Ein:

if (var = 2) würde in C oder vielen anderen Programmiersprachen logisch "wahr" (1) ergeben,
weil zuerst der Variablen "var" der Wert 2 zugewiesen wird und die IF-Klausel dann schaut, ob der Wert der Variablen var 0 oder größer 0 ist.
Und alles was größer 0 ist (was hier der Fall ist) wird als 1 - also wahr gemätscht bzw. ausgewertet.
Das kann gefährlich werden wenn zum Beispiel auf EOF und/oder \0 geprüft werden soll.
Weil \0 zugleich das terminierende End-Byte ist - by C-Zeichketten (Pchar) wie auch beim erreichen der EOF Marke.
Beide Zeichen (also \0) haben dann unterschiedliche Bedeutungen.
Im Ascii-Zeichensatz entspricht dann \0 das lachende Smily-Zeichen, das man mit einen DOS-Eingabe-Hex-Editor zu Gesicht bekommt, wenn mit einen Hex-Editor das binäre Image einer executable betrachtet (sofern die Codepage auch auf ASCII oder UTF-8 gestellt ist).
Manche Hex-Editoren stellen auch einfach ein Leerzeichen dar - was dann auch gut verwechselt werden kann mit dem Leerzeichen 32 dez. oder 20 hex.
Dann gibt es auch noch die geniale Idee von Null-Feldern (zum Beispiel in Datenbankprogrammen)...
Frag doch einfach
Alles was nicht programmiert werden kann, wird gelötet

Geändert von paule32.jk ( 9. Okt 2024 um 18:26 Uhr)
  Mit Zitat antworten Zitat