11RIA 闪客社区 - 最赞 Animate Flash 论坛

搜索
查看: 2321|回复: 7
上一主题 下一主题

[技术吹水] 为什么大家都用变量"i"?

[复制链接] TA的其它主题
发表于 2019-4-20 13:15:34 | 显示全部楼层 |阅读模式

【游客模式】——注册会员,加入11RIA 闪客社区吧!一起见证Flash的再次辉煌……

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

x
今天在写for循环的时候,突然想到为什么一定要用变量"i"来迭代呢?
如果用a,b,c等变量命名也不会冲突啊。
相信大部分人都是因为,前辈都用"i",因此我们这些后学的晚生也就用它了。
抱着刨根究底的恶心思想,纠结了几分钟后,突然想起来有个单词叫index,是索引的意思。然后问了一下周边的C++程序员们,本来还是各抒己见,有个人说应该是index的缩写吧。于是所有人都一致认为就是这个意思了。
这个问题可能讨论起来没什么意义,不过还是可以无聊的考虑一下,那么你觉得会是什么原因呢?
另外第一个用变量"i"的程序员,他当时是不是就是这样想的呢?

发表于 2019-4-20 15:49:24 | 显示全部楼层
我一般都是  i  j  k,这三个先用 i,再用 j,之后用k。。
我觉得统一挺好的,利于辨识。
回复

使用道具 举报

发表于 2019-4-20 21:12:40 | 显示全部楼层
i其实最早是“迭代器(iterator)"缩写,被英文为母语的程序员使用,
之后随教材和示例代码流传到中国

至于j和k纯粹是因为跟在i后面。
回复

使用道具 举报

发表于 2019-4-23 15:26:25 | 显示全部楼层
第一个写循环的人在想:“循环怎么写啊,哎,好烦啊!要不试下for,好像行,不过这个变量怎么取呢,哎,好烦啊,咦,对了,就用哎吧,那不行,要不用ai,也不行,那就用最后的字母,嗯,好主意~~~”……
回复

使用道具 举报

发表于 2019-4-23 16:10:38 | 显示全部楼层
general_clarke 发表于 2019-4-20 21:12
i其实最早是“迭代器(iterator)"缩写,被英文为母语的程序员使用,
之后随教材和示例代码流传到中国

将军果然见多识广~~
回复

使用道具 举报

发表于 2019-4-23 20:16:25 | 显示全部楼层
我觉得是因为这3个字母比较靠后,如果用a循环的话,就不能把别 的名字起为a了,所以用i更好,也有可能是因为是integer这个单词
回复

使用道具 举报

发表于 2023-7-14 16:04:25 | 显示全部楼层
很多都是以英文第一个字母定义的
回复

使用道具 举报

发表于 2023-7-14 16:06:53 | 显示全部楼层
更新路漫漫
回复

使用道具 举报

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

本版积分规则

关闭

站长推荐 上一条 /1 下一条

感谢所有支持论坛的朋友:下面展示最新的5位赞助和充值的朋友……更多赞助和充值朋友的信息,请查看:永远的感谢名单

SGlW(66139)、 anghuo(841)、 whdsyes(255)、 longxia(60904)、 囫囵吞澡(58054)

下面展示总排行榜的前3名(T1-T3)和今年排行榜的前3名的朋友(C1-C3)……更多信息,请查看:总排行榜今年排行榜

T1. fhqu1462(969)、 T2. lwlpluto(14232)、 T3. 1367926921(962)  |  C1. anghuo(147)、 C2. fdisker(27945)、 C3. 囫囵吞澡(58054)



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