首页
/
每日頭條
/
圖文
/
c語言逗号運算符用法
c語言逗号運算符用法
更新时间:2026-01-22 06:32:05
原文首發于同名微信公号「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
推荐阅读
松茸炒什麼好吃
松茸炒什麼好吃
一、原料準備五花肉、幹松茸、蔥姜、料酒、醬油、冰糖。松茸燒肉松茸燒肉具體做法:(1)幹松茸用清水浸泡3~4小時洗淨濾幹,期間清洗換水2~3次;(2)五花肉洗淨切塊,入清水鍋中煮開後焯2分鐘;(3)撈出肉塊沖洗幹淨濾水;(4)姜塊拍松,蔥打結...
2026-01-22
科學家發現最古老的星系
科學家發現最古老的星系
通過分析暗能量調查(DES)的數據,一個國際天文學家小組對附近的微弱矮星系進行了搜索。結果,他們在玉夫座星系周圍檢測到了三個微弱的矮星系。矮星系包含多達幾十億顆恒星,由于其亮度低、質量低和尺寸小而難以被探測到,并且經常作為大星系的伴星被發現...
2026-01-22
美國短跑選手世界排名
美國短跑選手世界排名
2019年多哈世界田徑錦标賽是新人崛起的真正舞台,男子100米、200米金牌分别被美國95後新星科爾曼、萊爾斯摘得,兩人将引領未來世界短跑新潮流。進入2020奧運大賽年,面對95後飛人,世界百米五虎之一、美國9秒69紀錄保持者泰森蓋伊表示:...
2026-01-22
含笑花開了幾天
含笑花開了幾天
2022年2月9日含笑花“含笑花開四十春,前庭後院伴晨昏。今朝獻與秋英俠,使聽龍泉壁上吟。”詩作者是書法家馮亦摩,出于對英雄的仰慕,他将與自己相伴了四十年的兩大盆含笑花送給了秋瑾故居并賦詩一首,意在讓花慰藉女俠的英魂,更讓女俠能含笑于九泉之...
2026-01-22
事業情懷責任擔當
事業情懷責任擔當
事業情懷責任擔當?來源:人民網-人民日報青春的模樣,是奮鬥的模樣鄉村振興一線,青年才俊同鄉親們一起揮灑汗水,躬耕希望田野;新冠病毒核酸檢測,青年志願者與廣大醫護人員、社區工作者合力築牢人民健康防線;從祖國邊防到治安消防,勇毅的青年面孔讓萬家...
2026-01-22
Copyright 2023-2026 - www.tftnews.com All Rights Reserved