C/C++編程知識(shí):運(yùn)算符(六)丨逗號(hào)()運(yùn)算符知識(shí)詳解

在C和C ++中,逗號(hào)(,)可以在兩種情況下使用:?
1)逗號(hào)作為運(yùn)算符:?
逗號(hào)運(yùn)算符(由Token表示)是一個(gè)二進(jìn)制運(yùn)算符,它求值第一個(gè)操作數(shù)并舍棄結(jié)果,然后求值第二個(gè)操作數(shù),并返回該值(和類型)。逗號(hào)運(yùn)算符在所有C運(yùn)算符中具有最低的優(yōu)先級(jí),并且充當(dāng)序列點(diǎn)。?
C語(yǔ)言:
int i = (5, 10);
int j = (f1(), f2());?
2)逗號(hào)作為分隔符:?
與函數(shù)調(diào)用和定義,宏,變量聲明,枚舉聲明和類似構(gòu)造之類的函數(shù)一起使用時(shí),逗號(hào)充當(dāng)分隔符。?
C語(yǔ)言:
int a = 1, b = 2;
void fun(x, y);
將逗號(hào)用作分隔符不應(yīng)與用作運(yùn)算符相混淆。例如,在下面的語(yǔ)句中,可以按任意順序調(diào)用f1()和f2()。?
C語(yǔ)言:
void fun(f1(), f2());
見這對(duì)C VS C ++使用逗號(hào)操作符的差異。
您可以嘗試以下程序來(lái)檢查您對(duì)C語(yǔ)言中的逗號(hào)的了解。?
C語(yǔ)言:(1)
#include <stdio.h>
int main()
{
????int x = 10;
????int y = 15;
????printf("%d", (x, y));
????getchar();
????return 0;
}
C語(yǔ)言:(2)
#include <stdio.h>
int main()
{
????int x = 10;
????int y = (x++, ++x);
????printf("%d", y);
????getchar();
????return 0;
}
C語(yǔ)言:(3)
#include <stdio.h>
int main()
{
????int x = 10, y;
????y = (x++,
?????????printf("x = %d\n", x),
?????????++x,
?????????printf("x = %d\n", x),
?????????x++);
????printf("y = %d\n", y);
????printf("x = %d\n", x);
????return 0;
}
C ++:
#include <iostream>
using namespace std;
int main()
{
????int a = 5;
????a = 2, 3, 4;
????cout << a;
????return 0;
}
3)逗號(hào)代替分號(hào)。?
我們知道在C和C ++中,每個(gè)語(yǔ)句都以分號(hào)終止,但是逗號(hào)運(yùn)算符在滿足以下規(guī)則后也用于終止該語(yǔ)句。?
(1)變量聲明語(yǔ)句必須以分號(hào)終止。
(2)聲明語(yǔ)句后的語(yǔ)句可由逗號(hào)運(yùn)算符終止。
(3)程序的最后一條語(yǔ)句必須以分號(hào)終止。
例子:
C++:
#include <iostream>
using namespace std;
int main()
{
? ? ? ? cout << "First Line\n",
????????cout << "Second Line\n",
????????cout << "Third Line\n",
????????cout << "Last line";
????return 0;
}
希望對(duì)你有幫助!
另外如果你想更好的提升你的編程能力,學(xué)好C語(yǔ)言C++編程!彎道超車,快人一步!筆者這里或許可以幫到你~

UP在主頁(yè)上傳了一些學(xué)習(xí)C/C++編程的視頻教程,有興趣或者正在學(xué)習(xí)的小伙伴一定要去看一看哦!會(huì)對(duì)你有幫助的~
分享(源碼、項(xiàng)目實(shí)戰(zhàn)視頻、項(xiàng)目筆記,基礎(chǔ)入門教程)
歡迎轉(zhuǎn)行和學(xué)習(xí)編程的伙伴,利用更多的資料學(xué)習(xí)成長(zhǎng)比自己琢磨更快哦!
編程學(xué)習(xí)書籍分享:

編程學(xué)習(xí)視頻分享:
