c语言的逗号表达式

stone30 发布于 2010/12/28 16:11
阅读 442
收藏 2

 

#include <stdio.h>

main()

{

int a=2,b=4,c=6,x,y;

y=(x=a+b),(b+c);

printf("y=%d,x=%d",y,x);

}

在这段程序中,我的预算结果是y=6,x=6

为什么不是y=10(b+c)

不是说在逗号表达式中最后一个表达式的值是整个表达式的值嘛?

 

加载中
0
ddatsh
ddatsh

#include


main()
{
    int x;
    x=1,3;
    printf("%d",x);
}

 

http://hi.baidu.com/ailiss/blog/item/60095f06656d5f7a0208819f.html

 

 

#include

main()

{

int a=2,b=4,c=6,x,y;

y=((x=a+b),(b+c))    ;

printf("y=%d,x=%d",y,x);

}

0
wangandi
wangandi

y = ((x = a + b), (b + c));

楼主说的是这样?

0
steven.zh
steven.zh

"逗号表达式" ?  逗号就是逗号。

0
ddatsh
ddatsh

当然有 逗号表达式 这词!

0
G.
G.

引用来自#3楼“wangandi”的帖子

y = ((x = a + b), (b + c));

楼主说的是这样?

赋值运算比逗号运算级别高.

y = ((x = a + b), (b + c)); 才是楼主想要的结果.

0
stone30
stone30

看来是教材有问题。。。

返回顶部
顶部