首页
/
每日頭條
/
圖文
/
c語言逗号運算符用法
c語言逗号運算符用法
更新时间:2026-01-30 07:09:50
原文首發于同名微信公号「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
推荐阅读
建國以來大型舞蹈史詩(大型音樂舞蹈史詩)
建國以來大型舞蹈史詩(大型音樂舞蹈史詩)
     深圳世界之窗,位于廣東省深圳市南山區深南大道9037号,中國著名的縮微景區,是一個以弘揚世界文化為宗旨,把世界奇觀、曆史遺迹、古今名勝、民間歌舞表演融為一體的人造主題公園。公園内擁有國内第一個投資過億的旅遊演出專屬劇場——世界廣場環球舞台,《盛世紀》就在這個舞台演出。      《盛世紀》,大型音樂舞蹈史詩系列世紀三部曲的收官之作,2018年9月2...
2026-01-30
北京朝陽區性侵案(近五年超六成未成年性侵案為熟人作案)
北京朝陽區性侵案(近五年超六成未成年性侵案為熟人作案)
     北京市海澱區人民法院(以下簡稱“海澱法院”)18日召開新聞發布會,通報近5年來涉性侵害未成年人案件的審理情況并發布典型案例。通報顯示,超六成未成年性侵案為熟人作案,在此類案件中,被害未成年人更易産生較為嚴重的心理問題。   2017年,某小學保安馬某某利用其特殊身份,騙取了二年級學生小雨的信任,3個月内3次性侵小雨,犯罪手段逐步升級。最終,馬某某被...
2026-01-30
哈弗h8和h9哪個賣得好(長城哈弗H9和H8年底雙劍出鞘)
哈弗h8和h9哪個賣得好(長城哈弗H9和H8年底雙劍出鞘)
     哈弗H8是長城汽車進入高端市場的第一款産品,還沒上市就引起了行業的高度關注,大家一緻看好這款車,其預售訂單一度超越了所有人的預期。   但是,今年1月,長城官方主動發布消息,哈弗H8因為産品質量問題,推遲3個月上市。4月份,H8在北京車展上市,并對外銷售。1個月後,官方又發布消息說H8遇到技術問題,需要回爐再次調試。在各種猜測和議論聲中, H8消失...
2026-01-30
家裡停電怎麼照明簡單(家裡停電怎麼辦)
家裡停電怎麼照明簡單(家裡停電怎麼辦)
  大家好,我是旺旺生活小妙招,為您的生活添精彩,人有三急,那我們家裡的電也是一樣,而且意外說不定什麼時候就會發生,那麼我們家裡突然停了電,但是又沒有蠟燭,怎麼辦,今天旺旺生活小妙招就給大家分享一個應急照明的小妙招,方法非常的簡單,我們先準備一張紙巾,一般的抽紙就可以了!      然後我們把它疊成長條,我們把一頭粘上花露水!   就像這樣都把它浸泡一下,另...
2026-01-30
宇宙誕生之初到現在有什麼變化(這個宇宙誕生的6種時期)
宇宙誕生之初到現在有什麼變化(這個宇宙誕生的6種時期)
  宇宙的相      WMAP衛星的最重要貢獻,大概是它使科學家相信他們正朝着宇宙的“标 準模式”前進。盡管還存在巨大的差距,天體物理學家開始看到從這些數據得 出的标準模式的輪廓。根據現在拼湊在一起的圖片,當宇宙冷卻時宇宙的演變 經過了截然不同的相變。從一個相過渡到另一個相代表系統的破裂和自然力的 分解。今天我們知道宇宙演變經過以下階段和裡程碑: 間中。神...
2026-01-30
Copyright 2023-2026 - www.tftnews.com All Rights Reserved