Aracılığıyla paylaş


Mantıksal OR işleci: ||

Sözdizimi

mantıksal veya ifade || mantıksal ve ifade

Açıklamalar

Mantıksal OR işleci (||), işlenenlerden biri veya her ikisi true de ise boole değerini true döndürür ve aksini döndürürfalse. İşlenenler, değerlendirmeden önce örtük olarak türüne bool dönüştürülür ve sonuç türündedir bool. Mantıksal OR'un ilişkilendirilebilirliği soldan sağadır.

Mantıksal OR işlecine işlenenlerin aynı türe sahip olması gerekmez, ancak boole, integral veya işaretçi türünde olmaları gerekir. İşlenenler, genel olarak ilişkisel veya eşitlik ifadeleridir.

İlk işlenen, mantıksal OR ifadesinin değerlendirilmesine devam edilmeden önce tamamen değerlendirilir ve tüm yan etkiler tamamlanır.

İkinci işlenen yalnızca ilk işlenen olarak değerlendirilirse falsedeğerlendirilir çünkü mantıksal OR ifadesi olduğunda truedeğerlendirme gerekli değildir. Kısa devre değerlendirmesi olarak bilinir.

printf( "%d" , (x == w || x == y || x == z) );

Yukarıdaki örnekte, , yveya değerine eşitsewx, işlevin printf ikinci bağımsız değişkeni olarak değerlendirilir trueve bu, tamsayıya yükseltilir ve 1 değeri yazdırılırz. Aksi takdirde değerini değerlendirir false ve 0 değeri yazdırılır. Koşullardan biri olarak değerlendirilir değerlendirilmez truedeğerlendirme durdurulur.

için işleç anahtar sözcüğü ||

C++ için ||alternatif yazım denetimi olarak belirtiror. C'de, alternatif yazım denetimi iso646.h> üst bilgisinde <makro olarak sağlanır. C++ dilinde alternatif yazım bir anahtar sözcüktür; <iso646.h> veya C++ eşdeğeri <ciso646> kullanımı kullanım dışıdır. Microsoft C++'da alternatif /permissive- yazım denetimi sağlamak için veya /Za derleyici seçeneği gereklidir.

Örnek

// expre_Logical_OR_Operator.cpp
// compile with: /EHsc
// Demonstrate logical OR
#include <iostream>
using namespace std;
int main() {
   int a = 5, b = 10, c = 15;
   cout  << boolalpha
         << "The true expression "
         << "a < b || b > c yields "
         << (a < b || b > c) << endl
         << "The false expression "
         << "a > b || b > c yields "
         << (a > b || b > c) << endl;
}

Ayrıca bkz.

C++ yerleşik işleçleri, önceliği ve ilişkilendirilebilirliği
C mantıksal işleçleri