c语言中a表示一个数组,a[i++]与a[++i]到底有什么区别?

 我来答
L语言之父
推荐于2017-09-27 · TA获得超过3622个赞
知道小有建树答主
回答量:811
采纳率:0%
帮助的人:94.4万
展开全部
a[i++]和a[++i]的区别:

相同点:i都加1,都使i的值变成下一个元素的序号。
异同点:a[i++]中i++是后自增,必须先使用当前元素的值再使用下一个元素的值,a[++i]中++i是前自增,可以直接使用下一个元素的值。
例子:
# include <stdio.h>
int main ()
{
int a[3] = {1,2,3};
int i = 0;
printf("%d\n",a[i++]);//本输出的值为1,因为是i++,所以是先使用a[0]的值,再加上1,即先输出a[0]的值。
i = 0;
printf("%d\n",a[++i]);//本输出的值为2,因为++i,所以直接使i加1,即输出a[1]的值。
return 0;
}
松甜恬0Je4ba
2014-04-12 · TA获得超过2.6万个赞
知道大有可为答主
回答量:7475
采纳率:100%
帮助的人:3441万
展开全部
a[i++] 相当于 a[i] i=i+1

a[++i] 相当于 i=i+1 a[i]

也就是说 一个先使用i的值,然后改变i的值,一个先改变i的值,然后使用i的值。

例如 如果一开始 i=3 则 a[i++] 就是 a[3] 而 a[++i]就是a[4]
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b8db7464d
推荐于2017-09-18 · TA获得超过904个赞
知道小有建树答主
回答量:186
采纳率:100%
帮助的人:242万
展开全部

举个例子给是说吧

int nArray[4] = { 7, 4, 8, 1 };
int i = 0;
int a = nArray[i++];

i = 0;
int b = nArray[++i];

//上面这个例子中,最后 a = 7,b = 4,
//i++ 是使用i的值,然后使用完以后再自增1
//++i 是先把i自增1,然后再使用i的值

//所以a = nArray[i++];就相当于a = nArray[i]; i = i + 1;
//b = nArray[++i]; 就相当于  i = i + 1; b = nArray[i];

//这么说你应该明白了吧
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式