C語言中唯一的一個三目運算子(條件運算子)
“(a>b)?a:b”是一個條件表示式,如果(a>b)條件為真,則條件表示式去值a,否則取值b。
一般形式:表示式1?表示式2:表示式3,它是C語言中唯一的一個三目運算子。
執行順序:先求解表示式1,若為非0(真)則求解表示式2,此時表示式2的值作為整個條件表示式的值。若表示式1的值為0,則求解表示式33,表示式3的值作為整個條件表示式的值.
例如:max=(a>b)?a:b,執行結果就是將a和b中大者賦給max。(條件運算子的優先順序高於賦值運算,低於關係運算和算術運算)
例子:輸出a,b中較大者
#include<stdio.h>
int main (void)
{
int a,b;
scanf("%d%d",&a,&b);
printf("%d\n",a>b?a:b);
return 0;
}
相關推薦
關於C語言中輸入一個三位整數,逆序輸出一個三位數
剛開始在leetcode上刷題,遇到的兩道題目比較簡單,一道是求用一個函式求輸入的兩個數的值,這個簡單就略過了,下面講講一道常見的題目,這是一點小心得,下面附上題目及解題思路:題目:Given a 32-bit signed integer, reverse digits o
C語言中一些很酷的技巧(cool tricks)
1. #if 0 ...... #endif 塊中的內容不會被編譯,因為註釋不允許巢狀,我們可以把暫時不用的程式碼塊放在 這裡面。 2. 陣列初始化的時候可以指定索引,而且可以給特定範圍的陣列賦值。 比如 int array[] = { [0 ... 9] = 1, [10 ... 20] = 2, [
C語言中唯一的一個三目運算子(條件運算子)
“(a>b)?a:b”是一個條件表示式,如果(a>b)條件為真,則條件表示式去值a,否則取值b。 一般形式:表示式1?表示式2:表示式3,它是C語言中唯一的一個三目運算子。 執行順序:先求解表示式1,若為非0(真)則求解表示式2,此時表示式2的值作為整個條件表示
C語言中的一個*和[]優先級問題
pre 執行 return ges spa 技術 分享 malloc bsp 最近寫著玩了這麽一段代碼 1 int Init(int **T, int v1, int v2, int v3) 2 { 3 4 if (!(*T=(int*) malloc(3*
c語言中判斷一個字串是否包含另一個字串
1. 使用庫函式 string.h strstr函式 函式名: strstr 功 能: 在串中查詢指定字串的第一次出現 用 法: char *strstr(char *str1, char
C語言中得到一個float值在記憶體中的16進製表示
float佔據4個位元組32位,1位為符號位,8位指數位,23位尾數位。 例 將72.65f轉為為16進製表示 第一步:將浮點數轉換為二進位制顯示 將72.65f轉換為二進位制顯示形式為 100 1000. 101 0011 0011 0011... 整數部分轉換方法為
C語言程式輸入一個三位數取個位十位百位
/****************************************************** *專案名稱:三位數取個位十位百位 *程式檔名:三位數取各位數 *使用軟體:vs2017 **************************
C語言中關於取三位數的各各位數的單個數字問題
在BCB下 1=9 了 ||| 367除以100 =3367除以10取10餘=6367取10餘=7 3 1=8 2 1)就是6 a[j]); }} ||| 位置是固定的 只需要判斷'/0'的
C語言中字串的三種表示方法
1.在C語言中,是將字串作為字元陣列來處理的,字串是逐個存放到陣列元素中的,例如用一個一維的字元陣列存放字串"I am a boy.",如下程式碼:char c[12] = {'I','a','m','a','b','o','y','.'};這個字串的實際長度是11,陣列長度
總結:C語言字串輸入的三種方式(scanf("%c",array); scanf("%s",str); gets(array);)
1、以scanf("%c",&array);的格式輸入字串; 由於%c是輸入一個字元,若需要輸入字串時我們可以建立陣列或指標配合迴圈(while,do{}while,for)來達到目的。如下例利用do{}while及陣列來輸入字串,並重新輸出,以字元#為結束標誌: #includ
c語言中使用自帶的qsort(結構體排序)
c中沒有自帶的sort函式emm 不過有自帶的qsort函式 (其實用法都差不多(只是我經常以為c中有sort 標頭檔案要用 1 #include <stdlib.h> 一定要重新把指標指向的值賦值給一個node型別,不然比較不了 1 struct node{ 2 int d,i
【C語言】C語言中格式化字元的具體用法(C語言中%的那些事)
格式字元格式字元用以指定輸出項的資料型別和輸出格式。 格式字元控制: 說明:的sprintf(格式化後的字元,“%(長度)格式符”,格式化前的字元); 1,d格式符用來輸出十進位制數有以下幾種用法。: (1),%d按整數的實際長度輸出。 (2),%M
C語言中物件的點與箭頭(指標)的區別
在c++中I如果是物件,就可以通過"."來呼叫I中的成員變數。如果I是指標的話,就不能通過"."來呼叫,而只能使用"->"來呼叫。在C語言中不存在物件的概念。這種情況的出現是因為使用了結構,例如struct CandyBar{float weight;int calo
C語言中的行內函數(總結)
C語言本身不支援行內函數,但是新的C標準C99中,支援了行內函數。 引入行內函數的目的是為了提高程式中函式呼叫的效率。 函式呼叫,實際上是將程式執行的順序轉移到被呼叫的函式所在的記憶體地址,將函式執行完後,再返回到原來的地址繼續往下執行,因此需要保護現場並記憶執行的地址,
三目運算子(條件運算子)
C Primer Plus(總結) C提供條件表示式(conditionalexpression)作為表達if else語句的一種 便捷方式,該表示式使用?:條件運算子。該運算子分為兩部分,需要 3 個運 算物件。回憶一下,帶一個運算物件的運算子稱為一元運算子,帶兩個
C語言實現單鏈表節點的刪除(帶頭結點)
data art pos grand urn ria tps move sni 我在之前一篇博客《C語言實現單鏈表節點的刪除(不帶頭結點)》中具體實現了怎樣在一個不帶頭結點的單鏈表的刪除一個節點,在這一篇博客中我改成了帶頭結點的單鏈表。代碼演示樣例上傳至 h
C語言實現單鏈表的節點插入(帶頭結點)
alloc tails 函數 file ret con 實現 單獨 fun 我在之前一篇博客《C語言實現單鏈表(不帶頭結點)節點的插入》中具體實現了怎樣在一個不帶頭結點的單鏈表中進行節點的插入。可是在實際應用中,帶頭結點的鏈表更為經常使用。更為方便。今天我們
【藍橋杯】第六屆國賽C語言B組 1.積分之迷(水題)
水題 urn class %d names 風鈴 需要 藍橋 std 小明開了個網上商店,賣風鈴。共有3個品牌:A,B,C。為了促銷,每件商品都會返固定的積分。 小明開業第一天收到了三筆訂單:第一筆:3個A + 7個B + 1個C,共返積分:315第二筆:4個A + 10個
【藍橋杯】第七屆國賽C語言B組 2.湊平方數(dfs+STL)
ble 一個 所有 mes char next memset target article 把0~9這10個數字,分成多個組,每個組恰好是一個平方數,這是能夠辦到的。比如:0, 36, 5948721 再比如:10985247361, 25, 63907840, 4, 28
C#Windows窗體做一個隨機猜數(1~100)
public partial class Form1 : Form { public int k = 0; //接收隨機數的值 i