本帖最後由 教學組 於 2024-11-7 15:28 編輯
邏輯運算子又分為短路型的條件運算子及非短路型的位元運算子。對於短路型的 || ,只要第一個條件為 true,結果就是 true;而對於短路型的 && ,只要第一個條件為 false,結果就是 false,兩者皆不會再對第二個條件做運算。- #include<bits/stdc++.h>
- using namespace std;
- int main()
- {
- int a=0, b=0;
- if(a++<2 || b++>2) //條件運算子(短路型),只要第一個條件為true結果就是true。
- cout<<"true"<<endl;
- else
- cout<<"false"<<endl;
- cout<<"a="<<a<<" b="<<b<<endl<<endl;
- a=0, b=0;
- if(a++<2 | b++>2) //位元運算子(非短路型),兩個條件都會完整跑完。
- cout<<"true"<<endl;
- else
- cout<<"false"<<endl;
- cout<<"a="<<a<<" b="<<b<<endl<<endl;
- a=0, b=0;
- if((a+=2)<2 && (b+=2)>2) //條件運算子(短路型),只要第一個條件為false結果就是false。
- cout<<"true"<<endl;
- else
- cout<<"false"<<endl;
- cout<<"a="<<a<<" b="<<b<<endl<<endl;
- a=0, b=0;
- if((a+=2)<2 & (b+=2)>2) //位元運算子(非短路型),兩個條件都會完整跑完。
- cout<<"true"<<endl;
- else
- cout<<"false"<<endl;
- cout<<"a="<<a<<" b="<<b<<endl<<endl;
- return 0;
- }
複製代碼 |