在C和C ++中,逗号(,)可以在两种情况下使用:
1)逗号作为运算符:
逗号运算符(由Token表示)是一个二进制运算符,它求值第一个操作数并舍弃结果,然后求值第二个操作数,并返回该值(和类型)。逗号运算符在所有C运算符中具有最低的优先级,并且充当序列点。
C语言:
int i = (5, 10);
int j = (f1(), f2());
2)逗号作为分隔符:
与函数调用和定义,宏,变量声明,枚举声明和类似构造之类的函数一起使用时,逗号充当分隔符。
C语言:
int a = 1, b = 2;
void fun(x, y);
将逗号用作分隔符不应与用作运算符相混淆。例如,在下面的语句中,可以按任意顺序调用f1()和f2()。
C语言:
void fun(f1(), f2());
见这对C VS C ++使用逗号操作符的差异。
您可以尝试以下程序来检查您对C语言中的逗号的了解。
C语言:(1)
#include
int main()
{
int x = 10;
int y = 15;
printf("%d", (x, y));
getchar();
return 0;
}
C语言:(2)
#include
int main()
{
int x = 10;
int y = (x++, ++x);
printf("%d", y);
getchar();
return 0;
}
C语言:(3)
#include
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
using namespace std;
int main()
{
int a = 5;
a = 2, 3, 4;
cout
return 0;
}
3)逗号代替分号。
我们知道在C和C ++中,每个语句都以分号终止,但是逗号运算符在满足以下规则后也用于终止该语句。
(1)变量声明语句必须以分号终止。
(2)声明语句后的语句可由逗号运算符终止。
(3)程序的最后一条语句必须以分号终止。
例子:
C++:
#include
using namespace std;
int main()
{
cout
cout
cout
cout
return 0;
}
希望对你有帮助!
领取专属 10元无门槛券
私享最新 技术干货