逗号表达式

 先上一道题:

int func(int x,int y)
{
    return(x+y);
}
void main()
{
    int a=1,b=2,c=3,d=4,e=5;
    printf("%d/n",func((a+b,b+c,c+a),(d,e)));
}

答案为9,开始没想明白是怎么一回事,以为是压栈顺序的问题,结果经人指点才知道了还有个逗号表达式这么回事(当年可能学过,都忘了,惭愧。。。)。

逗号运算符,它将两式联接起来,如:3+5,6+8称为逗号表达式,其求解过程先表达示1,后表达示2,整个表达示值是表达示2的值,如:3+5,6+8的值是14。a=3*5,a*4的值是60。

那题中func的参数就会取c+a和e的值,所以答案为9.
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值