C语言——三目运算符的进阶用法,比较三个或者四个数的大小
生活随笔
收集整理的這篇文章主要介紹了
C语言——三目运算符的进阶用法,比较三个或者四个数的大小
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、簡介三目運算符
1、三目運算符也叫條件運算符,結合方向是從右至左。
2、三目運算符僅此一個。
3、基本形式:? ? ? <表達式1> ? <表達式2> :? <表達式3>
4、比較原理:表達式1是否為真,如果為真,執行表達式2,否則執行表達式3.
例:a = 4 > 3 ? 1 : 0 ;? ?a的值為1.
5、如果在表達式中含有其他運算符,得考慮符號的優先等級(很重要!最好把表達式都帶上括號)
二、三目運算符比較兩個數之間的大小
1、基本形式:? ? ? <表達式1> ? <表達式2> :? <表達式3>
2、原理:在<表達式1>中存放判斷條件,如果結果為真就輸出<表達式2>,假就輸出<表達式3>
例:a = 4 > 3 ? 1 : 0 ;? ?a的值為1(過于簡單,不做贅述)
三、三目運算符比較三個數之間的大小
直接上例子(最樸素的辦法,但是最容易理解)
//用三目運算符比較三個數的大小 #include<stdio.h>int main() {int a = 3,b = 4,c = 5,max1,max2,max3;//max用來存儲最大的數字//有三種不同的寫法: //max1的原理:先求A和B的最大值,再去和c比較 //max2的原理:先讓A和B比較,A大就讓A和C比較,反之B和C比較 //max3的原理:先讓A和B比較,<表達式1>為真(A大)就讓A和C比較,反之B和C比較max1 = (a > b ? a : b) > c ? (a > b ? a : b) : c ;max2 = a > b ? (a > c ? a : c) :(b > c ? b : c);max3 = (a > b ? a : b) ? (a > c ? a : c) : (b > c ? b : c);printf("max1:%d\n",max1);printf("max2:%d\n",max2);printf("max3:%d\n",max3);}四、三目運算法比較四個數的大小(相對三,更容易理解)
上硬菜(看懂了上面,下面的嵌套也是一樣的)
#include<stdio.h>int main() {int a = 1 ,b = 2 , c = 3 , d = 4 ,z;z = ((a < b ? a : b) < (c < d ? c : d)) ? (a < b ? a : b) : (c < d ? c : d);printf("z:%d\n",z); }在往上面,還是一樣的嵌套方法。可以一直套娃下去(套太多了,自己容易先暈)
PS:自己總結的知識點,難免會有紕漏,歡迎各位看官及時指正,小弟感激不盡
總結
以上是生活随笔為你收集整理的C语言——三目运算符的进阶用法,比较三个或者四个数的大小的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小米登录页
- 下一篇: MatplotlibTutorial——