首页
/
每日頭條
/
圖文
/
c語言逗号運算符用法
c語言逗号運算符用法
更新时间:2025-10-30 03:46:20
原文首發于同名微信公号「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-10-30
去問對象這12個問題
去問對象這12個問題
你是否覺得在你的關系中你的聲音沒有被聽到,你的伴侶就是不聽你的需求?這在情侶中很常見,不是隻有你是這樣的。通過這10個實用的小技巧,你會發現如何清楚地向你的伴侶表達你的需求。1)溝通而不批評那麼,你覺得你的伴侶沒有傾聽你的需求?你可能會覺得...
2025-10-30
老石和冰金的故事
老石和冰金的故事
“大老石”是個人的綽号。他本姓石,因為身材高大,又排行老大,所以本村的人都叫他“大老石”。因為我故事寫得較長,姑且就叫“小傳“”吧。我之所以寫他的故事,因為他的死代表了一個城中村農耕時代的終結。我們村是一個典型的城中村,大部分人依靠租賃房子...
2025-10-30
微信最新版本字體變小了嗎
微信最新版本字體變小了嗎
自從微信發布8.0版本後,玩法越來越多,特别是其中的“狀态”功能。今天給大家分享一個小技巧,可以修改狀态内容字體,讓你的微信狀态與衆不同。通過修改字體,可以讓微信狀态顯示出類似以下圖片中的效果。想要修改微信狀态的内容字體,需要通過工具輔助實...
2025-10-30
人死後身體會發生怎樣的變化
人死後身體會發生怎樣的變化
人死了到底會到哪裡?其實這麼多年并沒有定論,因為沒有一個死掉的人活過來,對死後的情形加以詳細的描述。沒有人有死過的經驗。我們缺乏一個死人的真實陳述。于是,所有關于人死後會到那裡都局限在一個假想之中。人死後會去哪裡1、基督教認為人是有靈魂的,...
2025-10-30
Copyright 2023-2025 - www.tftnews.com All Rights Reserved