課程
/后端開發
/C
/C語言入門
int a=1,b=1;
這種寫法有問題嗎
2015-07-06
源自:C語言入門 2-3
正在回答
可以這么寫。
但是要注意的是這種寫法其實就是逗號表達式。
C語言提供一種特殊的運算符——逗號運算符。
逗號運算符,優先級別最低,它將兩式聯接起來,如:(3+4,6+2)稱為逗號表達式,其求解過程先表達式1,后表達式2,整個表達式值是表達式2的值。
舉個栗子,
#include?<stdio.h> int?main() { ????int?a=1,b=5;???/*這里定義年齡*/ ????int?c=(a,b); ????printf("c的值是%d!\n",?c); ????return?0;???? }
發現沒有,運行出來的結果是表達式2的值,即b的值。
Perona
時小七 提問者 回復 Perona
時小七 提問者
Perona 回復 時小七 提問者
你寫的是合法的定義語句。C語言可以用逗號隔開來聲明多個變量,但這種寫法不是逗號表達式,這只是聲明語法的一種形式。
@Perona 回答中的第5行,等號的右側才算是逗號表達式。
蒙蒙達
onemoo 回復 蒙蒙達
舉報
C語言入門視頻教程,帶你進入編程世界的必修課-C語言
1 回答多個變量賦值
4 回答變量的賦值
2 回答變量賦值
1 回答變量賦值..
3 回答變量與賦值
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2015-07-06
可以這么寫。
但是要注意的是這種寫法其實就是逗號表達式。
C語言提供一種特殊的運算符——逗號運算符。
逗號運算符,優先級別最低,它將兩式聯接起來,如:(3+4,6+2)稱為逗號表達式,其求解過程先表達式1,后表達式2,整個表達式值是表達式2的值。
舉個栗子,
發現沒有,運行出來的結果是表達式2的值,即b的值。
2015-07-07
你寫的是合法的定義語句。C語言可以用逗號隔開來聲明多個變量,但這種寫法不是逗號表達式,這只是聲明語法的一種形式。
@Perona 回答中的第5行,等號的右側才算是逗號表達式。