小阿妞 发表于 2015-7-11 10:47:37

C语言求助

是不是编译器有问题?y不应该等于10么?

哥斯拉不说话 发表于 2015-7-11 11:01:09

优先级问题,赋值运算符 的优先级高于 逗号运算符,所以先把 6 赋值给 y

小阿妞 发表于 2015-7-11 11:09:37

哥斯拉不说话 发表于 2015-7-11 11:01
优先级问题,赋值运算符 的优先级高于 逗号运算符,所以先把 6 赋值给 y

不对啊!视频上老师讲了,Y要取逗号后面的。

哥斯拉不说话 发表于 2015-7-11 12:27:40

小阿妞 发表于 2015-7-11 11:09
不对啊!视频上老师讲了,Y要取逗号后面的。

都说了是优先级问题,你去查一下,赋值运算符 的优先级肯定在 逗号运算符 的前边,你的程序就很好的验证了我的说法,结果是 6 不是 10,说明我说的没问题,你说你老师讲了,要么是你听错了或理解错了,要么是你老师讲错了。

哥斯拉不说话 发表于 2015-7-11 12:29:57

小阿妞 发表于 2015-7-11 11:09
不对啊!视频上老师讲了,Y要取逗号后面的。

你这样写
y = ( (x=a+b), (b+c) );
这样 y 就是 10 了,就是一个单纯的优先级问题

ltt1986 发表于 2015-7-11 12:37:34

垃圾代码,你老师不咋的赶紧换:titter:

小阿妞 发表于 2015-7-12 08:15:40

哥斯拉不说话 发表于 2015-7-11 12:27
都说了是优先级问题,你去查一下,赋值运算符 的优先级肯定在 逗号运算符 的前边,你的程序就很好的验证 ...

好的,懂了,谢谢。

nin98 发表于 2015-7-13 12:33:26

加个括号,就是你想要的结果

无名侠 发表于 2015-7-13 15:54:06

{:9_240:}你在跟着什么教材学。。 看你发的都是些糊弄人的题,这样学要学晕的

小阿妞 发表于 2015-7-13 16:35:59

无名侠 发表于 2015-7-13 15:54
你在跟着什么教材学。。 看你发的都是些糊弄人的题,这样学要学晕的

我跟学的是小甲鱼的视频,我也是从他的视频里发现这个鱼C工作室这个网站的

l605361413 发表于 2015-7-13 16:58:18

逗号优先级好像排最后 不过这里的逗号什么意思

ysm 发表于 2015-7-14 20:54:45

这些题做的没多少意义...主要是对优先级的理解

xiongjingkui 发表于 2015-7-16 17:35:54

你可以一步一步来,最好换行写,这样一点都不好看。。

桃花飞舞 发表于 2015-7-17 10:56:06

新手一直不明白逗号表达式,路过

小白C 发表于 2015-7-19 13:23:57

我以前也遇到过这样的问题, 多加个括号就是行了
页: [1]
查看完整版本: C语言求助