| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4382 人关注过本帖
标题:C 语言中的变量为什么不能以数字打头?
取消只看楼主 加入收藏
hedaacm
Rank: 6Rank: 6
来 自:河北保定
等 级:侠之大者
威 望:2
帖 子:400
专家分:418
注 册:2012-1-26
结帖率:79.41%
收藏
已结贴  问题点数:100 回复次数:9 
C 语言中的变量为什么不能以数字打头?
C 语言中的变量为什么不能以数字打头?
不要告诉我编译原理书上有。我暂时看不懂。
除了下面的解释外,
“假如变量名允许以数字开头的话,那么语法分析器在解析一个全部为数字的字串的时候,就无法判断它是一个数字常量还是一个变量名了”

还有别的解释吗?
假如变量是2n呢?也可以和数字2区别啊?为什么不行呢?
C语言这样规定是不是单纯为了编译器词法分析简单啊?还有别的原因吗?
如果你知道就跟我好好说说吧。
搜索更多相关主题的帖子: 语言 编译器 
2013-04-02 10:42
hedaacm
Rank: 6Rank: 6
来 自:河北保定
等 级:侠之大者
威 望:2
帖 子:400
专家分:418
注 册:2012-1-26
收藏
得分:0 
以下是引用韶志在2013-4-2 10:45:00的发言:

有必要钻这牛角尖吗?   表示我不知道
这是思考   不是钻牛角
2013-04-10 00:01
hedaacm
Rank: 6Rank: 6
来 自:河北保定
等 级:侠之大者
威 望:2
帖 子:400
专家分:418
注 册:2012-1-26
收藏
得分:0 
以下是引用zklhp在2013-4-2 11:23:07的发言:

我感觉就是为了保持词法分析简单 这在当时很有必要 而且对于C这种比较底层的东西来说这个设计很好

一般来说 编译型语言的语法较死板 解释型语言的较活泼

个人意见 仅供参考
蒽恩
2013-04-10 00:01
hedaacm
Rank: 6Rank: 6
来 自:河北保定
等 级:侠之大者
威 望:2
帖 子:400
专家分:418
注 册:2012-1-26
收藏
得分:0 
以下是引用peach5460在2013-4-2 11:29:36的发言:

 
大概就是因为这个...
你喜欢在程序里面考虑很多钻牛角尖的东西么?楼主?
你才喜欢牛角呢。。。。。。这是勤于思考。。。。
2013-04-10 00:02
hedaacm
Rank: 6Rank: 6
来 自:河北保定
等 级:侠之大者
威 望:2
帖 子:400
专家分:418
注 册:2012-1-26
收藏
得分:0 
以下是引用邓士林在2013-4-2 11:46:28的发言:

这个真不知道,一般编程语言都鲜有用数字开头的,原因就是编译器这样规定,怕引起二义性,(打个比方,指数表示就是  "数字+字母E"如果变量能用数字开头的话,6e3到底是当作常量还是变量呢)电脑是死的,是编译器中定义的语法来工作的,知道是这回事就行,未必一定要问了个所以然来,就象为什么杀人犯法一样.
我现在也知道个大概了
2013-04-10 00:03
hedaacm
Rank: 6Rank: 6
来 自:河北保定
等 级:侠之大者
威 望:2
帖 子:400
专家分:418
注 册:2012-1-26
收藏
得分:0 
以下是引用TonyDeng在2013-4-2 17:45:56的发言:

如果允许以数字开头,命名者全部是数字时怎么办
所有不以数字开头。。。避免混淆嘛
2013-04-10 00:05
hedaacm
Rank: 6Rank: 6
来 自:河北保定
等 级:侠之大者
威 望:2
帖 子:400
专家分:418
注 册:2012-1-26
收藏
得分:0 
以下是引用fanpengpeng在2013-4-8 23:59:40的发言:

这个帖子还没结 赶紧来接点分
便宜你了
2013-04-10 00:06
hedaacm
Rank: 6Rank: 6
来 自:河北保定
等 级:侠之大者
威 望:2
帖 子:400
专家分:418
注 册:2012-1-26
收藏
得分:0 
以下是引用YJ_Hao在2013-4-9 06:11:12的发言:

我只知道这是C标准制定,没必要知道为什么!
如果你长期只会记。。。。就不会思考了。。。。
2013-04-10 00:07
hedaacm
Rank: 6Rank: 6
来 自:河北保定
等 级:侠之大者
威 望:2
帖 子:400
专家分:418
注 册:2012-1-26
收藏
得分:0 
以下是引用Magic_July在2013-4-9 19:56:22的发言:

走火入魔。。。。。。。。。。。。
思考个问题就走火入魔了???神马思想
2013-04-10 00:08
hedaacm
Rank: 6Rank: 6
来 自:河北保定
等 级:侠之大者
威 望:2
帖 子:400
专家分:418
注 册:2012-1-26
收藏
得分:0 
以下是引用暴强大叔在2013-4-9 20:33:48的发言:

现在编程都不是一个人的工作,往往要一个团队共同开发,如果以数字开头的话(假如给你一个变量123),你的同事光从名字你能猜到这是干啥用的吗?即便你写了注释了,别人也不能完全记住啊。还有在程序维护的时候,你搞得代码块到处都是数字,很容易弄混的,也不便于修改啊。。。其实变量的命名原则是人为规定的,他们在考虑这些问题的时候往往比较全面,深刻。现在不明白也不影响后续学习啊,等以后深入了解了之后,一切都水到渠成啦。。。。
蒽恩  我也是这样想的。。。。。只是有个人问我这个问题。。我不会 。就来问你们了
2013-04-10 00:08
快速回复:C 语言中的变量为什么不能以数字打头?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014018 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved