首页
/
每日頭條
/
圖文
/
c語言逗号運算符用法
c語言逗号運算符用法
更新时间:2025-03-14 16:28:45
原文首發于同名微信公号「Allen5G」,歡迎大家搜索關注,歡迎轉發!

三目運算符(a ? b : c)可以作為邏輯運算的載體

規則:當a 的值為真時,返回b的值 , 否則返回c的值

實驗1:三目運算符初探

c語言逗号運算符用法(C語言學習第16篇---三目運算符和逗号表達式)1

#include <stdio.h> int main() { int a = 1; int b = 2; int c = 0; c = a < b ? a : b; (a < b ? a : b) = 3; printf("%d\n", a); printf("%d\n", b); printf("%d\n", c); return 0; }

三目運算符(a ? b : c)的返回值類型

~通過隐式類型轉換規則返回b 和 c中的較高類型

~當b 和c 不能隐式轉換到同意類型時将編譯出錯

實驗2:三目運算符的返回類型

c語言逗号運算符用法(C語言學習第16篇---三目運算符和逗号表達式)2

#include <stdio.h> int main() { char c = 0; short s = 0; int i = 0; double d = 0; char* p = "str"; printf( "%d\n", sizeof(c ? c : s) ); printf( "%d\n", sizeof(i ? i : d) ); printf( "%d\n", sizeof(d ? d : p) ); return 0; }

逗号表達式:

實驗3:逗号表達式實例

c語言逗号運算符用法(C語言學習第16篇---三目運算符和逗号表達式)3

#include <stdio.h> void hello() { printf("Hello!\n"); } int main() { int a[3][3] = { (0, 1, 2), (3, 4, 5), (6, 7, 8) }; int i = 0; int j = 0; while( i < 5 ) printf("i = %d\n", i), hello(), i ; for(i=0; i<3; i ) { for(j=0; j<3; j ) { printf("a[%d][%d] = %d\n", i, j, a[i][j]); } } return 0; }

實例4:一行代碼實現strlen函數

#include <stdio.h> #include <assert.h> int strlen(const char* s) { return assert(s), (*s ? strlen(s 1) 1 : 0); } int main() { printf("len = %d\n", strlen("Delphi")); printf("len = %d\n", strlen(NULL)); return 0; }

小結:

三目運算符返回變量的值,而不是變量本身

三目運算符通過隐式轉化規則确認返回值類型

逗号表達式按照從左到右的順序計算每個子表達式的值

逗号表達式的值為最後一個子表達式的值

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
知否中不同時期的漢服(知否中的宋代女子妝容)
知否中不同時期的漢服(知否中的宋代女子妝容)
  序說起來以宋朝為背景的古裝劇不多,大多數都是正史劇,沒有那種可以欣賞男女主羅曼史的偶像劇,前段時間大熱的《知否》也一直被大家探讨背景,不少人都不确定《知否》是不是以宋朝為背景的,實際上這部電視劇是架空曆史,但它的框架還在,電視劇的背景就是在北宋。      從很多細節比如:東京、,燕雲十六州,開封府,通判,官家等等等等,這些也可以證明電視劇的背景是宋朝,...
2025-03-14
驚蟄劉芬芳扮演者(驚蟄中的劉芬芳)
驚蟄劉芬芳扮演者(驚蟄中的劉芬芳)
  《驚蟄》中的劉芬芳,《完美關系》中的崔英俊,他一人千面受關注。   文/岩姐 原創内容,抄襲必究!   有些人,不要顔值靠實力,一旦發現他的優秀,就會被他圈粉。      董可飛就是這樣一位演員,年輕時候也是小鮮肉一枚,從出道至今參演作品很多,除了電影、電視劇,還曾經登上過很多聯歡晚會,出演小品也是一絕。   說董可飛是一人千面一點也不過分,從他15歲參...
2025-03-14
十一月份打雷下雨是什麼預兆(冬天十一月打雷是什麼征兆)
十一月份打雷下雨是什麼預兆(冬天十一月打雷是什麼征兆)
  在人們看來夏天打雷是比較正常的一個現象,但冬天打雷卻似乎比較少見。今日清晨,湖南、浙江等地出現打冬雷現象,那冬天(十一月)打雷是什麼征兆?老話怎麼講呢?      冬天打雷其實并沒有什麼征兆,不僅今年冬天出現打雷,在2021年2月份的時候也出現冬天打雷的現象。冬天打雷的原因分析如下:   1.冬季打雷說明空氣濕度大,容易形成雨雪,故有“冬天打雷雷打雪”之...
2025-03-14
利用三星手機的bixby功能找手機(消息稱三星将向第三方開發者開放BixBy助手)
利用三星手機的bixby功能找手機(消息稱三星将向第三方開發者開放BixBy助手)
  IT之家11月2日消息 三星在今年8月發布了一款智能音箱Galaxy Home,内置了三星自家的Bixby助手。在這一市場上,亞馬遜已經以自家的Echo系列音箱,以及Alexa助手占據着主導,這不由得讓人擔心後發的三星前景如何。不過,華爾街日報的一個新消息似乎展示了Galaxy Home和Bixby的一條路徑。      消息稱,三星将在下周的三星開發者...
2025-03-14
佳能g1x系列相機(媲美單反的便攜相機)
佳能g1x系列相機(媲美單反的便攜相機)
  随着科技的不斷進步,便攜相機如今也有着媲美大型單反的畫質表現和性能配置。佳能G1X III就是這樣一款産品,它搭載了一枚2400萬像素的APS-C畫幅圖像傳感器,配置了全像素雙核對焦技術,因此無論是畫質還是對焦,這款可以放在大衣口袋裡的相機,都有着媲美單反的性能表現。目前在京東商城上,佳能G1X III的價格是6999元。      佳能G1X III ...
2025-03-14
Copyright 2023-2025 - www.tftnews.com All Rights Reserved