4个回答
展开全部
因为这是为了制作编译器的方便,如果你学过编译原理的话,你会知道如果开始第一个字符可以是数字,那会是相当痛苦的,这会增加此法分析的难度,所以C语言变量拒绝使用数字开头这种方式。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
主要是因为存在16进制数,16进制数中含有字母,比如1a5,就是这个16进制数。
如果你想让变量可以用数字开头,就得想办法分别16进制数与变量。
比如有个变量名为1a5,
语句,int w=1a5,那1a5是变量还是数字?
就算用0x开头也不行,比如16进制数0x1a5,那如果有0x1a5这个变量名又怎么办?
反正你要是想用字母开头写变量,就得想办法解决如何分辨16进制数和变量名,
这就让编译变得效率很低。
如果你想让变量可以用数字开头,就得想办法分别16进制数与变量。
比如有个变量名为1a5,
语句,int w=1a5,那1a5是变量还是数字?
就算用0x开头也不行,比如16进制数0x1a5,那如果有0x1a5这个变量名又怎么办?
反正你要是想用字母开头写变量,就得想办法解决如何分辨16进制数和变量名,
这就让编译变得效率很低。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个没有原因,这是硬性规定,你只有遵守,不然编译就会报错
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询