Bug oder nur eine Frage des verständnisses

Für allgemeine Fragen zur Programmierung mit PureBasic.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

MARTIN hat geschrieben:... warum nicht einfach rang der operatoren so wie in C/C++ setzten ?
Also "AND" vor "OR".
weil ich darin einfach keinen sinn sehe, operatoren,
die der gleichen klasse angehören,
unterschiedlich zu werten.

da könnte man auch drüber diskutieren,
ob PLUS vorrang vor MINUS haben soll,
oder MAL vor GETEILT.
MARTIN
Beiträge: 454
Registriert: 08.09.2004 14:03
Wohnort: Kiel

Beitrag von MARTIN »

@Spider
wenn ich Dein C-Beispiel nachvollziehe kommt And (&&) nicht
vor Or (||) sondern es wird der gesamte Ausdruck korrekt von
links nach rechts ausgewertet, ohne beim 1. False (0 && 0) abzubrechen.
Doch da gilt "AND" vor "OR" und "NOT" vor allem andren :wink::

Code: Alles auswählen

#include <iostream>
using namespace std;

int main()
{
  cout << "1 && 1 || 0 && 0:";
  //Hier alles ohne klammer, es kommt "Wahr raus 
  if(1 && 1 || 0 && 0 ) 
  {
     cout << "Wahr" << endl;
  }
  else
  {
     cout << "Falsch" << endl;
  }
  
  cout << "((1 && 1) || 0) && 0:"; 
  //Hier stelle ich mit hilfe von Klamarn sicher,
  //das die Operationen Reie nach  ausgewertet werden
  //das Ergibnis:"Falsch"
  if(((1 && 1) || 0) && 0 ) 
  {
     cout << "Wahr" << endl;
  }
  else
  {
     cout << "Falsch" << endl;
  }
  
  return 0;
}
Das Problem mit den Operatoren in PB ist ja sowieso nur eine kleine Unzulänglichkeit, ich hätte sie ohne diesen Thread wahrscheinlich nicht entdeckt.
Amilo 1667|Suse Linux 10.1_64bit/WinXP |PB 4.00/3.94
Exabot
Beiträge: 63
Registriert: 10.12.2004 09:50

Beitrag von Exabot »

Entschuldigung, dass ich diesen thread nochmals hoch hole,
aber:

@MARTIN:
Du hast natürlich recht! :oops:
&& (and) kommt in C vor || (or)

@alle
In PB müssen unbedingt Klammern verwendet werden,
da sich PB mit and|or Bedingungen sehr schwer tut!
(Bin geneigt, das als BUG zu bezeichnen)

@André
Vielleicht sagt ja Fred doch noch was konstruktives dazu.

Gruss
Spider
Antworten