If Bedingung ist true(fehler)
-
Ein Plus zeichen sollte Hello World liefern aber anscheinend nicht.
Warum wird die If-Bedingung erfüllt?#include <iostream> using namespace std; int main() { char strg[]= "+" ; if(strg[0]==('q') || ('x')) { cout<<strg[0]<<endl; return 0; } else cout << "Hello world!" << endl; return 0; }
-
Der oder operator verknüpft zwei Ausdrücke und dein zweiter Ausdruck ist
'x'
und ist immertrue
.
-
Was du schreibst bedeutet
if(strg[0]==('q') || true )
was
if(true)
bedeutet.
Du musst den Vergleich komplett ausschreiben:
if(strg[0]=='q' || strg[0]=='x')
Ein anständiges Lehrbuch sollte das eigentlich zeigen.
-
HansSchneider schrieb:
Warum wird die If-Bedingung erfüllt?
Ohne Worte, einfach nur ohne Worte...
-
sam_the_man schrieb:
HansSchneider schrieb:
Warum wird die If-Bedingung erfüllt?
Ohne Worte, einfach nur ohne Worte...
Typischerweise kann man einen Sachverhalt mit Worten besser erklären.