Gast
#723121
hi, es geht um folgenden Code:
1 | |
ist das korrekt? Das Porgramm soll den Teil der kommt nur ausführen, wenn x ≠ 5 oder x ≠ 12 is. Also für alle x ≠ 5,12
|
Anzeige
|
C Verzweigung + Or korrekt?
Gast
#723121
hi, es geht um folgenden Code:
ist das korrekt? Das Porgramm soll den Teil der kommt nur ausführen, wenn x ≠ 5 oder x ≠ 12 is. Also für alle x ≠ 5,12
Gast
#723126
Nein. if ( (x!=5) || (x!=12) )
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:
Gast
#723132
wie denn nun ^^also es soll ausgeführt werden wenn x ≠ 5 und auserdem nicht wenn x ≠ 12 beides zugleich kommt nicht vor. Nö, das geht nicht. "5 | 12" ist ein konstanter Wert, und zwar in Binärschreibweise
Es wird oben also überprüft, ob x ungleich 13 ist. Da kannste aber auch gleich
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.
Gast
#723135
ok danke da hab ich mich ja total vertan! Mario wrote: > wie denn nun ^^also es soll ausgeführt werden wenn x ≠ 5 und auserdem > nicht wenn x ≠ 12 beides zugleich kommt nicht vor. Eben, es soll ausgeführt werden, wenn x nicht 5 UND nicht 12 ist... Mario wrote: > es soll ausgeführt werden wenn x ≠ 5 und auserdem > nicht wenn x ≠ 12 In C sieht das so aus:
oder gekürzt:
Peter
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). Die erste Zeile muß natürlich:
heißen. Peter @Peter: Ich vermute mal, dass Mario da nur ein "nicht" zu viel hatte. Was anderes ist auch nicht wirklich sinnvoll. Ich denke mal, die Beschreibung in seinem ersten Posting ist die relevante... Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|