首页
/
每日頭條
/
圖文
/
c語言逗号運算符用法
c語言逗号運算符用法
更新时间:2025-12-14 18:46:42
原文首發于同名微信公号「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
推荐阅读
聖誕節店鋪玻璃櫥窗(超乎想象的聖誕櫥窗)
聖誕節店鋪玻璃櫥窗(超乎想象的聖誕櫥窗)
  總以為時間會很慢,還有大把的時間,但是,眼看着,2019又要過去了。在即将過去的一年裡。您有哪些收獲,有什麼遺憾呢?在總結過去的同時,更多的人會放下一切,享受一年來難得的喜悅。春種秋收,夏耘冬藏,今年的農曆年也來得比較早,東西方文化其實有很多共通的地方,在冬季,大家都希望忘卻一年的煩惱,享受一年的豐收喜悅,所以,年終都是要過大節的。   當然,過節的時候...
2025-12-14
德陽比較幹淨的水上樂園(德陽人将擁有自己的專屬水上世界)
德陽比較幹淨的水上樂園(德陽人将擁有自己的專屬水上世界)
  大家好,我是房掌櫃。   随着時間進入9月,炎夏正式與我們揮手告别,房掌櫃開心得有點想拍巴巴掌,這個夏天被動辄30 的高溫天氣折磨得想崩潰,自己也被曬黑了至少8個度數。      說到夏天,不知道各位看官姥爺在夏天的避暑奇招都是啥?   面對出門分分鐘要被烤熟的天氣,房掌櫃隻想360°翻轉兩周半,“撲通”一聲跳進水裡,不帶起一丁點水花。   沒錯,夏天最...
2025-12-14
地球發現的真實秘密(地球内部存在着地底人)
地球發現的真實秘密(地球内部存在着地底人)
  地球内部存在着地底人?有哪些證據和目擊事件?   關于地底人的存在,目前還沒有确鑿的證據或者科學研究來證明他們的存在。雖然有一些傳說和民間故事中提到過地底人的存在,但這些故事缺乏可靠的證據來證實。在不同文化背景下,人們對地底人的形象和特征也有所不同。例如,在西方文化中,地底人被描繪為擁有超自然能力的神秘生物,而在中國文化中,地底人則被描述為長着狗頭的怪物...
2025-12-14
肖戰出席活動現場飯拍(肖戰蟬聯泰國WeTV最佳演員)
肖戰出席活動現場飯拍(肖戰蟬聯泰國WeTV最佳演員)
  肖戰憑借電視劇《餘生請多指教》中飾演的顧魏再次獲得泰國WeTV Awards最佳演員榮譽。      這是肖戰連續第二年獲此殊榮,此前肖戰憑借電視劇《鬥羅大陸》中飾演的唐三,亦獲當年泰國WeTV Awards最佳演員獎項。      當時電視劇《鬥羅大陸》在泰國開播盛況空前,連泰國發行量最大主流紙媒《泰國日報》也報道了這一開播盛況!文中介紹到“泰國最受歡...
2025-12-14
氣體的壓強和大氣壓強的區别(密閉容器中氣體壓強與大氣壓強的差别)
氣體的壓強和大氣壓強的區别(密閉容器中氣體壓強與大氣壓強的差别)
     1.因密閉容器中的氣體密度一般很小,由氣體自身重力産生的壓強極小,可忽略不計,故氣體壓強由氣體分子碰撞器壁産生,大小由氣體的密度和溫度決定,與地球的引力無關,氣體對上下左右器壁的壓強都是大小相等的。   2.大氣壓是由于空氣受到重力作用緊緊包圍地球而對浸在它裡面的物體産生的壓強。如果沒有地球引力作用,地球表面就沒有大氣,從而也不會有大氣壓。地面大氣...
2025-12-14
Copyright 2023-2025 - www.tftnews.com All Rights Reserved