免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 弹头
打印 上一主题 下一主题

[C] a+b=c跟c=a+b为什么不一样? C新新手问题 [复制链接]

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
31 [报告]
发表于 2008-04-24 13:30 |只看该作者
原帖由 flw 于 2008-4-24 00:26 发表
编程语言中借鉴了很多数学符号/概念,
但是这些符号和数学课本上的符号/概念还是有很大区别的。

就拿 = 这个符号来说,数学上把它叫做“等号”,
但是 C 语言里,它不是“等号”,而是“赋值号”,
C 语言 ...



顶一个

论坛徽章:
0
32 [报告]
发表于 2008-04-24 13:32 |只看该作者
原帖由 motalelf 于 2008-4-24 00:39 发表
我郁闷,又丢人了。怎么我总丢人???

不过你算个屁,呵呵。

实在看不过了,这位兄弟太不够意思了,人家回答你问题,应该感谢才对,还骂人。拖出去枪毙三分钟。

论坛徽章:
0
33 [报告]
发表于 2008-04-24 14:34 |只看该作者
看起来lz问的是比较深层次的。这涉及语言的设计了,K&R选择这一种赋值形式

论坛徽章:
0
34 [报告]
发表于 2008-04-24 15:37 |只看该作者
a+b只能做右值,放在等号左边当然就是错了。
换句话说吧。
等号是用来赋值的,等号左边放个表达式,请问,你的值赋给谁哦?
你要是说赋给a+b的话,那么a+b在内存里有指定的空间吗?
貌似没有吧

还有,你们都是夜猫子啊?半夜也不睡觉。

论坛徽章:
0
35 [报告]
发表于 2008-04-24 16:43 |只看该作者
原帖由 flw 于 2008-4-24 00:26 发表
编程语言中借鉴了很多数学符号/概念,
但是这些符号和数学课本上的符号/概念还是有很大区别的。

就拿 = 这个符号来说,数学上把它叫做“等号”,
但是 C 语言里,它不是“等号”,而是“赋值号”,
C 语言 ...


flw 的教诲如春风细雨啊,哈哈。
现在开始转型了?

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
36 [报告]
发表于 2008-04-24 16:48 |只看该作者
原帖由 swordfish.cn 于 2008-4-24 16:43 发表

flw 的教诲如春风细雨啊,哈哈。
现在开始转型了?

我这人一向如此,善善恶恶。你这样讲话说明你还不了解我。
不过也没关系,慢慢了解嘛。呵呵。

论坛徽章:
0
37 [报告]
发表于 2008-04-24 17:01 |只看该作者

回复 #1 弹头 的帖子

被赋值的变量在左边

论坛徽章:
0
38 [报告]
发表于 2008-04-24 17:11 |只看该作者
楼主,计算机狠傻的,做事就一根筋,你要他做什么他就做什么!
不信,你可以做以下实验:
用一跟针扎一下你的PC键盘看他会不会叫,或者跳起来抽你两巴掌。
答案是:若没人写这个程序告诉他要“叫”或“跳起来抽你两巴掌”,那么他一般会在屏幕显示你扎的那个键(限可显字符)
同理,编译器的作者没有让计算机,将等号左边的值赋到右边,只是让他把等号右边的赋到左边。又因为等号左边必须是一个确定的可存入值的位置(一般为内存地址,a+b编译后的的“东西”因编译器,以及目标代码不同而不动),因此会产生一个编译期的语意错误。因此,你的那个a+b=c会产生编译错误。
况且,左赋值与右赋值要是同时支持的话会产生二义性,这样计算机就无法执行了,因为他做事就一根筋!
建议楼主有实力之后,读一下编译原理,一切自然明朗。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
39 [报告]
发表于 2008-04-24 17:30 |只看该作者
原帖由 flw 于 2008-4-24 00:26 发表
编程语言中借鉴了很多数学符号/概念,
但是这些符号和数学课本上的符号/概念还是有很大区别的。

就拿 = 这个符号来说,数学上把它叫做“等号”,
但是 C 语言里,它不是“等号”,而是“赋值号”,
C 语言 ...


我靠,你娃难得这样耐心啊!

论坛徽章:
0
40 [报告]
发表于 2008-04-24 17:31 |只看该作者

回复 #1 弹头 的帖子

运算顺序问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP