鱼C论坛

 找回密码
 立即注册
查看: 2945|回复: 4

关于C语言逗号表达式的一个问题,望各位给予解答!!!

[复制链接]
发表于 2012-7-21 23:35:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include <stdio.h>
#include <conio.h>

int main()
{
        int a,b,c,d;
        a=1;
        b=2;
        c=3;
        d=a+b,b+c,a+c,c+c;
        printf("d=%d",d);

        getch();
}
这道题d的结果不是逗号表达式c+c的值6么?
为什么我得出的结果是a+b的值3呢?
我的程序有哪里不对么?
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-22 00:04:36 From FishC Mobile | 显示全部楼层
我是新手,我想是因为  表达式的值并不等同于 d的值。
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-22 00:27:26 | 显示全部楼层
运算符的优先级问题,逗号运算符的优先级别最低所以
d=a+b,b+c,a+c,c+c;
等同于
d=a+b;
b+c;
a+c;
c+c;
百度百科传送门:http://baike.baidu.com/view/262524.htm
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-22 01:18:06 | 显示全部楼层
优先级 逗号运算符比赋值运算符低 所以是 (d=a+b),(b+c),(a+c),(c+c);
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2012-7-22 12:16:01 | 显示全部楼层
谢谢你们。。。。我知道了。。
小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-14 07:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表