C Verzweigung + Or korrekt?

Gast #723130
Das ist nicht korrekt so. Du hast eine falsche Vorstellung davon, was 
logische Verknüpfungen tun. Hier wird zunächst 5 und 12 per logischem 
ODER bitweise miteinander verknüpft. Das Ergebnis ist dabei 13. Damit 
wird x dann verglichen.

> Das Porgramm soll den Teil der kommt nur ausführen, wenn x ≠ 5 oder x ≠
> 12 is. Also für alle x ≠ 5,12.

Du meinst, wenn wenn x ≠ 5 und x ≠ 12 ist.

Du mußt es schreiben als:
1
if (x != 5 && x != 12)
#723134
Nö, das geht nicht. "5 | 12" ist ein konstanter Wert, und zwar in 
Binärschreibweise
1
    00000101
2
  | 00001100
3
  ----------
4
  = 00001101 = Dh bzw. 13d
Es wird oben also überprüft, ob x ungleich 13 ist. Da kannste aber auch 
gleich
1
if(x != 13)
2
{}
schreiben. Außerdem dürfte eine binäre VerODERung für Deine Zwecke 
sowieso ungeeignet sein. Was Du brauchst ist ein logisches UND (es 
soll ja weder 5 noch 12 sein), und das heiß in C "&&".

Du musst in dem Fall zwei getrennte Abfragen machen, also z.B.
1
if((x != 5) && (x != 12))
2
{}
Gast #723190
> wie denn nun ^^also es soll ausgeführt werden wenn x ≠ 5 und auserdem
> nicht wenn x ≠ 12 beides zugleich kommt nicht vor.

Daß x weder 5 noch 12 (also nicht 5 und auch nicht 12) ist, kann sehr 
wohl vorkommen.
Die Bedingung "x ist nicht gleich 12 oder x ist nicht gleich 5" ist 
immer wahr, denn x ist immer entweder ungleich 12 oder ungleich 5 
(oder beides).

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.