鱼C论坛

 找回密码
 立即注册
查看: 3003|回复: 16

千古难解的C程序!!

[复制链接]
发表于 2013-10-17 21:43:17 | 显示全部楼层 |阅读模式

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

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

x
我是按鱼哥的写的为什么  y值附出来的不应该是10吗??  怎么还是6 呀!求解呀
QQ截图.png

#include <stdio.h>
int main()
{
int a=2,b=4,c=6,x,y;
y = (x=a+b),(b+c);
printf("%d,%d\n",y,x);
return 0;

}

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-10-17 21:52:24 | 显示全部楼层
赋值运算符优先级,大于逗号运算符,先y = (x=a+b),
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-10-17 21:53:03 | 显示全部楼层
我也是菜鸟,不知道对不对
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-10-17 21:54:04 | 显示全部楼层
asdasdfa.JPG
兄台,这样才对,  y = ((x=a+b),(b+c));  这样才算是一个逗号表达式 , y = (x=a+b),(b+c);  这个他只是执行了前半段语句,至于为什么不报错,是因为编译器把这个整条语句看成了一个逗号表示式了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-10-17 22:22:45 | 显示全部楼层
在外面再加个括号就不等于6了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-10-17 22:48:44 | 显示全部楼层
学习了 。。谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-10-18 21:57:49 | 显示全部楼层

谢谢你了 你说的很对!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-10-18 21:58:30 | 显示全部楼层
devotedtoc 发表于 2013-10-17 22:22
在外面再加个括号就不等于6了

谢谢你了 你说的很对!!.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-6 13:46:23 | 显示全部楼层
路过看一看= =!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-6 14:15:55 From FishC Mobile | 显示全部楼层
原来如此啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-6 14:32:35 | 显示全部楼层
来看看……     
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-6 15:10:03 | 显示全部楼层
看来好心人真是多啊。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-6 15:29:51 | 显示全部楼层
歧义,不要再纠结了,实际上没有这样编程的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-7 10:31:44 | 显示全部楼层
我勒个去 逗号表达式 没多少实际用处不建议你纠结他
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-7 11:11:19 | 显示全部楼层
C语言里面的运算都是从右到左的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-7 14:38:25 | 显示全部楼层
学到姿势了~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-7 16:39:02 | 显示全部楼层
y = (x=a+b),(b+c);      //这是一个逗号表达式
y = ((x=a+b),(b+c));   //这是一个赋值表达式
两者要分清
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-24 03:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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