LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1493|回复: 17

谭浩强与 K&R 的大出入

[复制链接]
发表于 2004-9-10 20:57:01 | 显示全部楼层 |阅读模式
在谭老师的《C 程序设计》第二版 P291 “枚举类型”一节中称枚举为变量类型,而我手上的 K&R 第二版中文版老版中P29 中“变量“一节中,枚举为常量类型,出入如此之大,我不知道是中文版的翻译有错误,还是谭老师理解有误,实在是非常困惑!!!!!
还请高手点拨,谢过!!
发表于 2004-9-10 23:32:19 | 显示全部楼层
是常量
 楼主| 发表于 2004-9-11 21:40:00 | 显示全部楼层
那你的意思是说大名顶顶的中国权威谭老师错了吗???
可他的这本书销量据说狂好!!
发表于 2004-9-11 22:50:31 | 显示全部楼层
那里面确实有些错误的。
 楼主| 发表于 2004-9-11 23:33:50 | 显示全部楼层
把变量说成常量,他这个错误犯得也太大了,那不是误人子弟吗
发表于 2004-9-11 23:57:37 | 显示全部楼层
  1. enum people {man,woman};
  2. people sex ;
复制代码


这里sex应该是变量吧。

觉得"'枚举类型'是变量还是常量"这句话怪怪的.
发表于 2004-9-12 08:29:31 | 显示全部楼层
可以认为枚举变量是一个取值范围受到限定的变量。如楼上的sex,就只能取man或者woman的值,取其它值的就是非法。
发表于 2004-9-12 08:29:55 | 显示全部楼层
man和woman本身是常量。在程序中是不能修改的。
发表于 2004-9-12 08:39:41 | 显示全部楼层
表达的方式不一样吧,都对
发表于 2004-9-12 14:42:30 | 显示全部楼层

有限取值,就应该称为常量.

既然有限取值,就应该称为常量.
大家没见过
const enum people {man,woman};

const people sex;
的用法吧?
谭本来就是沽名刁誉之徒,他的那本c语言之所以销量高,实在是因为当时国内没有太多的选择.
谭出名是因为他的那本basic,那时国内更没有几本编程书.你想不买都不行.
大家没看到现在书店里有N本谭署名内容却一塌胡涂的书吗?
说谭是权威实在有点抬高他了,比较适合的身份是普及教材编著者.
那本C顶多是个HelloWorld级的教材.
不知道我说的对不对?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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