C语言中的逗号运算符

今天在整理之前的错题遇到这样一道题:

(x = 4 * 5,x * 5),x + 25的值为( ).
(A)25 (B)20 (C)100 (D)45

答案:D

一开始看到这道题完全没有思路,后面看了别人的解释恍然大悟,在这里记录一下。

这道题考察的是逗号运算符,是一种使用范围非常有限的运算符。

它的计算规则是从左到右依次计算每一个表达式,表达式的结果是最后一个表达式的结果。

按照这个规则经过第一个表达式 x = 20 ,第二个表达式×5并没有改变x的值,最后x+25 = 45,因此答案是45。


逗号表达式几乎不会在特定的用法之外使用,最常见的用法往往是循环

void rev(char *s, size_t len)
{
    char *first;
    for (first = s, s += len; s >= first; --s) {
        putchar(*s);
    }
}

在这里 for循环的第一个条件用到了等号表达式

更多用法参考维基百科

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值