C语言中,i , i,以及i--,--i,啥意思,如何区别,老是搞不清,高手支个招,在此谢过…

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-11
请问一下c语言中++i跟i++,以及——i跟i--的区别啊

++i以及i++和--i以及i--之间的区别原理是一致的,搞清楚一种就能理解另一种了。
说一下前缀(++i)自增和后缀(i++)自增之间的区别:
以例子来说:
例子1:
int i = 5 ;
int b = 0 ;
b = ++i ;
例子2:
int i= 5 ;
int c = 0 ;
c = i++ ;
两个例子中,例子1里面 b = 6 , 例子2里面 c =5 。
我们把这个自增做一个变换,就一目了然了:
b= ++i 相当于=> i = i + 1 ; b= i ; //前缀自增:所有的操作要等自身值增1之后
c= i++ 相当于=> b= i ; i = i + 1 ; //后缀自增:先将自身现有的值给别人,再对自身增1
大体就是上面这样了

a[i++]和a[++i]的区别:

相同点:i都加1,都使i的值变成下一个元素的序号。
异同点:a[i++]中i++是后自增,必须先使用当前元素的值再使用下一个元素的值,a[++i]中++i是前自增,可以直接使用下一个元素的值。
例子:
# include
int main ()
{
int a[3] = {1,2,3};
int i = 0;
printf("%d
",a[i++]);//本输出的值为1,因为是i++,所以是先使用a[0]的值,再加上1,即先输出a[0]的值。
i = 0;
printf("%d
",a[++i]);//本输出的值为2,因为++i,所以直接使i加1,即输出a[1]的值。
return 0;
}

i就是普通的变量。
i--意思是先带入原来的变量i的值运算,然后i自减一,下次用时i就变成i-1了
--i是先自减一,然后带入计算,就是说,当前你所算的式子上用的就是i-1。