C语言中‘,’运算符存在的意义

逗号运算符(‘,’)是C语言中优先级最低的运算符,它用于连接两个表达式(n-1个‘,’可以连接n个表达式)并从左至右执行表达式,最后一个表达式的值作为整个表达式的值。基本格式如下:

表达式1,表达式2,表达式3…,表达式n

举个例子:

#include<stdio.h>
main()
{
    unsigned int a,b,c,d,e,f,g;
    g=(a=1*2,b=a*3,c=b*4,d=c*5,e=d*6,f=e*7,f*8);
    printf("%d\n",g);
}

最后g的值为40320。然而下面一段代码

#include<stdio.h>
main()
{
    unsigned int a,b,c,d,e,f,g;
    a=1*2;
    b=a*3;
    c=b*4;
    d=c*5;
    e=d*6;
    f=e*7;
    g=f*8;
    printf("%d\n",g);
}

的结果也为40320。而且,在CodeBlocks下发现运行两段代码所用的时间一样,那么逗号运算符存在的意义是什么?下面给出一些可以用到逗号运算符的地方

1.宏定义

#define swap(a,b) a=a+b,b=a-b,a=a-b;

2.函数返回值

return a=1,b=2,a*b;

3.for循环

for(i=0,j=10;i<j;i++,j--)

4.作为考试题出现在考生试卷上……

个人认为,‘,’和‘{}’的作用类似,花括号让只能写一条语句的地方可以写多条语句,逗号运算符让只能写一个表达式的地方可以写多个表达式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值