渢。 发表于 2013-3-10 17:45:45

逗号运算符的一点小问题。。



小甲鱼和书上说的都是当y=表达式1,表达式2……,表达式N的时候Y的取值是最后一个表达式N的值
但是为什么我这样写 Y 的取值是5而不是10呢
我自己又在(b+c)后面加了一个,10,   按书上或甲鱼哥讲的话应该是取10啊为什么是取5,5是表达式1的值吖。。
求解 谢谢~

友来友网 发表于 2013-3-10 17:45:46

注意 等号 和 逗号 的优先级,
y = 5,(b+c);被编译器理解成 (y=5),(b+c)所以y等于5
改成 y = ( 5, (b+c) ) 就是等于10

向往青莲 发表于 2013-3-10 19:58:47

楼上+1          顺便说一句   这表达式没啥使用价值

渢。 发表于 2013-3-10 20:52:52

原来如此 学习了,书上竟然没有说到这一点 实在容易让学生疑惑啊 谢谢解答:lol

向往青莲 发表于 2013-3-11 23:23:54

渢。 发表于 2013-3-10 20:52 static/image/common/back.gif
原来如此 学习了,书上竟然没有说到这一点 实在容易让学生疑惑啊 谢谢解答

那你也把这个贴给结了吧!选楼上位最佳答案吧
页: [1]
查看完整版本: 逗号运算符的一点小问题。。