c语言提供一种特殊的运算符,逗号运算符,优先级别最低,它将两式联接起来,如:(3+5,6+8)称为逗号表达式,其求解过程先表达式1,后表达式2,整个表达式值是表达式2的值,如:(3+5,6+8)的值是14。(a=3*5,a*4)的值是60。
表达式1,表达式2,表达式3,...... ,表达式n
逗号表达式的要领:
(1) 逗号表达式的运算过程为:从左往右逐个计算表达式。
(2) 逗号表达式作为一个整体,它的值为最后一个表达式(也即表达式n)的值。
(3) 逗号运算符的优先级别在所有运算符中最低。
题目1:
int main()
{
if()
{
printf("Hello ");
}
else
{
printf("World !!!");
}
return 0;
}
在if里面请写入语句 使得打印出 hello world。
输入答案:(puts("hello world"), exit(0),12)
应该说上面的题目就是使用了逗号表达式的性质。
题目2:
main()
{
int x,y,z;
x=y=1;
z=x++,y++,++y;
printf("%d,%d,%d\n",x,y,z);
}
逗号表达式的优先级最低,可以转化为 (z=x++),y++,++y;
最后答案应该是x=2,y=3,z=1