c语言中a表示一个数组,a[i++]与a[++i]到底有什么区别?
3个回答
展开全部
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;
}
相同点: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;
}
展开全部
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]
a[++i] 相当于 i=i+1 a[i]
也就是说 一个先使用i的值,然后改变i的值,一个先改变i的值,然后使用i的值。
例如 如果一开始 i=3 则 a[i++] 就是 a[3] 而 a[++i]就是a[4]
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
举个例子给是说吧
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];
//这么说你应该明白了吧
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询