C语言 请问代码里面的i--,i++什么意思

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-31
C语言 请问代码里面的i--,i++什么意思

举例来说:
int
i=1;
++i;//此i先加1,此时i的值是2
而i++;//
i在这个语句中的值仍是1;当且执行完这一句后i
的值才为2
--i和i--同上

i++和++i都是i进行自加1,只不过前者是先调用i再自加,后者是先自加再调用i。
例如:
int
i=1;
int
o=i++;
//
先将i的值附给o,i再加1
int
p=++i;
//先将i加1,再把i的值附给p
o的值是0,而p的值是3
i--和--i与上边是一样的,只不过是自减运算

++i是指先把i加上1后在对i进行运算。举个例子 i=0;n=0;

当执行n=++i后;是 n的值就是1;i的值为1;而若是执行n=i++则,n的值为0。i为1;

换句话说n=++i是先执行n=i;在对i自加运算。

n=i++;是先执行i的自加运算再把i的值赋予n。

扩展资料:

自增运算符 ++ 使操作数的值加1,其操作数必须为可变左值(可简单地理解为变量)。

++ 可以置于操作数前面,也可以放在后面,如:

++i;

i++ ;

++i表示,i自增1后再参与其它运算;而i++ 则是i参与运算后,i的值再自增1。

自减运算符--与之类似,只不过是变加为减而已,自增运算符更加简洁,且可以控制效果作用于运算之前还是之后,具有很大的便利性。

参考资料来源:百度百科-自增自减运算符



for(i=0;i<m;i++)
{ if(strcmp(p2.name, p1[i].name)==0)
if(p2.total<=p1[i].real)
{i--;
break;
}
else printf("\n查询到该物资,不满足领料要求\n");

作为for循环,每次循环结束后,末尾那个i++无法避免。若是有情况,需要本次for和下次for执行时,i的取值完全相同,那就只能是想办法抵消掉本次循环结束后的那次i++。
i++是让i加一,要抵消,当然是得先让i减一,之后再去执行i++了。

你好,i++代表的是i=i+1;i--代表的是i=i-1;这是缩写的形式,这是一般计数时会用到。

++i是指先把i加上1后在对i进行运算。举个例子 i=0;n=0;
当执行n=++i后;是 n的值就是1;i的值为1;而若是执行n=i++则,n的值为0。i为1;
换句话说n=++i是先执行n=i;在对i自加运算。
n=i++;是先执行i的自加运算再把i的值赋予n