社区
C语言
帖子详情
超菜问题:为什么位置编号等喜欢用0,1,......n-1,而不用1,2,....,n?
flyhigher402
2003-10-17 09:59:49
比如:
我们一般喜欢用for(j=0;j<n;j++)
而很少用for(j=1;j<n+1;j++) ???
有时好像用后者更方便啊.
高手别见笑.
...全文
62
15
打赏
收藏
超菜问题:为什么位置编号等喜欢用0,1,......n-1,而不用1,2,....,n?
比如: 我们一般喜欢用for(j=0;j<n;j++) 而很少用for(j=1;j<n+1;j++) ??? 有时好像用后者更方便啊. 高手别见笑.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
RookieStar
2003-10-18
打赏
举报
回复
其实最符合习惯的还是从1开始的,但习惯以后从0开始也会觉得很自然……
rixwyg
2003-10-18
打赏
举报
回复
高手,见笑了!
要看是什么情况:
如果是数组的下标的话,那就应该从0不始了,
倘若不然系统就将要报错的,
int a[4]={1,2,3,6};
如果是从1开始,a[4];是数组还是第四个元素。
系统就分不清了,如果从0到n-1就不同了但是别可以,
这只是语言的格式而已。
langzi8818
2003-10-18
打赏
举报
回复
FT
stormwolf
2003-10-18
打赏
举报
回复
大家说的好清楚,我就不说了~~
不用0怎么看的出我们是用C的呢~
呵呵,玩笑~
cupidvenus
2003-10-18
打赏
举报
回复
这个习惯是从使用数组遗留下来的。
williamVII
2003-10-18
打赏
举报
回复
C的很多特性是为了写编译器方便,
因为早期的使用者就是写编译器的人.
用0代表位移,编译起来更直接...
以后大家就都这么用了...
(见<C专家编程>)
Liulingbing
2003-10-17
打赏
举报
回复
C语言的下标为0体现了计算机的特性,
比如说计算机现在只能表示8个数,
它只会用0,1,2,3,4,5,6,7
不会认识8。
C程序员一直是被认为较专业的计算机人士,当然要base 0了。
mme
2003-10-17
打赏
举报
回复
这个是由于c语言的数组从0开始而形成的。
只要你习惯了,就会发现它的好处。
而basic就是从1开始的。所以从basic转学c在开始的时候会很不习惯。
psbeond
2003-10-17
打赏
举报
回复
c语言数组下标从0开始(当时就这么规定了,如果当时规定从1开始,就没这个问题了),对数组操作时经常可以看到类似代码:
int arry[5];
for(int i=0; i<5; i++
{
arry[i] = i;
}
如果象你说的从1开始就得这样:
int arry[5];
for(int i=1; i<6; i++)
{
arry[i-1] = i;
}显然不如第一种,久了就成风格了
TianGuangZao
2003-10-17
打赏
举报
回复
0 开头,称为“不对称边界法”。用习惯了有不少好处。
《c 陷阱和缺陷》里有最详细的讨论。
liem
2003-10-17
打赏
举报
回复
因为数组的下标是从0开始的,因此写for循环对数组进行操作从0开始。习惯后,用for就从0开始了。
daizh
2003-10-17
打赏
举报
回复
这个跟你使用的具体情况有关。对于数组一般操作要用for(j=0;j<n;j++)a;主要是数组的下标就是与它的首地址的offset(偏移量),a[0]表示与首地址偏移0,即是数组的第一元素,以下依次类推。
tbmac
2003-10-17
打赏
举报
回复
0-based is developer way
1-based is user way
MPU
2003-10-17
打赏
举报
回复
以上说的是在 数组中....
MPU
2003-10-17
打赏
举报
回复
0 位置浪费了
0 - n 正好确定 n 个元素的边界...
OpenGL-自主高性能三维GIS平台架构与实现-第二季
什么是DEM,作用是什么 2 DEM数据 1.如何获取/ 传统测量/激光扫描/无人机测量/ 点云数据/ 倾斜摄影2.如何使用/局部小规模(栅格数据,图片/tif),3. 组织方式4. 根据使用目的不同,介绍多种优化方法 3 DEM图层的实现...
运维面试题(1024水篇)
NETWORK 1 请描述TCP/IP协议中主机与主机之间通信的三要素 参考答案 IP地址(IP address) 子网掩码(subnet mask) IP路由(IP router) 2 请描述IP地址的分类及每一类的范围 参考答案 A类1-26 B类128-191 C类192-223 D类224-239组播(多播) E类240-254科研 3 请描述A、B、C三类IP地址的默认子网掩码 参考答案 A类255.0.0.0 B类255.255.0.0 C类255.255.255.0 4 请描述预留给企业的私有
实施运维企业面试题-5
NETWORK 1 请描述 TCP/IP 协议中主机与主机之间通信的三要素 参考答案 IP 地址(IP address) 子网掩码(subnet mask) IP 路由(IP router) 2 请描述 IP 地址的分类及每一类的范围 参考答案 A 类 1-26 B 类 128-191 C 类 192-223 D 类 224-239 组播(多播) E 类 240-254 科研 3 请描述 A、B、C 三类 IP 地址的默认子网掩码 参考答案 A 类 255.0.0.0 B 类 255.255.0.0 C 类
TensorFlow 1.x 深度学习秘籍:1~5
原文:TensorFlow 1.x Deep Learning Cookbook 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自【ApacheCN 深度学习 译文集】,采用译后编辑(MTPE)流程来尽可能提升效率。 不要担心自己的形象,只关心如何实现目标。——《原则》,生活原则 2.3.c 一、TensorFlow 简介 曾经尝试仅使用 NumPy 用 Python 编写用于神经网络的代码的任何人都知道它很繁琐。 为一个简单的单层前馈网络编写代码需要 40 条线,这增加了编写代码和执行时间方
linux常用命令-part3
中文怎么发音 Ubuntu 有奔头,乌版图 Fedora 费德勒,菲朵拉 Debian 迪扁,德槟 CentOS 桑托斯 森头斯 Linux发展历史: 1) RedHat ---> 1.RedHat 2.CentOS 3.Fedora 桌面图形系统 rpm, yum 命令 2)
C语言
69,336
社区成员
243,078
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章