首页
/
每日頭條
/
圖文
/
c語言逗号運算符用法
c語言逗号運算符用法
更新时间:2026-01-18 12:15:40
原文首發于同名微信公号「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
推荐阅读
好聽的疊字名字推薦
好聽的疊字名字推薦
在中國的取名文化中,取一個好聽好念且寓意美好的名字很是必要,而在我們熟知的個性名字中,有很多是疊字名字,讀來尤為親切,也會朗朗上口。下面小編羅列了一些,你最熟悉的是哪一個呢,快來說說看。123567趣談取名文化,學習取名智慧,除此之外,你還...
2026-01-18
脊椎圓錐區血管畸形
脊椎圓錐區血管畸形
30歲男性病例,腕關節疼痛半年,拍片後影像結果顯示正常,但仔細看片子會發現有尺骨莖突缺失,尺骨莖内側有弧形壓迹,且三角骨有移位。,
2026-01-18
喝水過快的後果
喝水過快的後果
喝水這件事,很多人都做錯了!會喝比多喝更重要!3個誤區,看看你中了幾條~都說“女人是水做的”,其實,不光女人是水做的,男人也是,人體大約65%都是水,多喝水自然也成了保健養生的關鍵一環。但是,在喝水這件事上,可沒那麼簡單,有人因缺水發生暈厥...
2026-01-18
想對自己喜歡人說的話
想對自己喜歡人說的話
對喜歡的人,我們往往不知道該說什麼好。曾被一段對話驚豔到。“我好像很久沒對他說‘我愛你’了。”“有多久?”“有五個小時了。”當時感歎情侶分開的一個小時大概有一個世紀那麼難熬吧。戀愛中的人可以電話一打就是幾個小時,偶爾幾分鐘的沉默裡也全是心思...
2026-01-18
重慶姐弟被生父扔下樓墜亡案宣判
重慶姐弟被生父扔下樓墜亡案宣判
澎湃新聞記者謝寅宗重慶南岸區錦江華府姐弟“墜亡”案将在下周二(12月28日)上午再次開庭。7月26日,重慶市第五中級法院第一次開庭審理該案,檢方指控稱,年僅2歲的雪雪(化名,女)和1歲的弟弟洋洋(化名),系被其父親張波及其女友葉誠塵共謀殺害...
2026-01-18
Copyright 2023-2026 - www.tftnews.com All Rights Reserved