C语言 里面的I++ --+

来源:百度知道 编辑:UC知道 时间:2024/05/15 10:34:56
,我学C语言已经一个学期了,但我对i++和--i多不是很了解,很容易忘记

还有 for语句里面的i++ 比如 着个我有一点不了解,在for语句里面
的 for(;y>0;y--) y 是不是已经减了 变8 才给IF来判断?
y=9
for(;y>0;y--)
if (y%3==0) for语句里面的i++ 是不是只有循环作用啊,

还有一个问题是 i的值是3
i+++i= 后者是i---i=

i++表示后加,++i表示前加。区别一般在表达式中才能体现
比如
i=1;
j=i++;
那么运行后,j=1;i=2;后加的特点就是用完了再把自己加1
i=1;
j=++i;
那么运行后,j=2;i=2;后加的特点就是用前就加1
但是如果只是i++,和++i的话,就体现不出来了,因为这个表达式没有作用于其他的变量,都是自己+1,不涉及到其他的变量。
在for(;y>0;y--) 循环里,因为只是y自己一个单独的表达式,所以写成for(;y>0;--y) 也是一样的

还有就是++的优先级比+高,所以i+++i=(i++)+i
这个时候计算(i++)+i时,根据后加的特点,要先使用,后加,所以(i++)+i可以分解为两部,先计算i+i,然后计算i++;
同理--也是这个原则

++i是先自加再执行本语句,
i++是先执行语句在自加;
如a=++i;(i=9)中a=10
a=i++; a=9

for(;y>0;y--) y
相当于:
for(;;)
{
if(y>0)
{............执行循环体
y--;起推动作用
}
else
break;//跳出循环}

i=3时
i+++i=(i++)+i=3+3=6 结束后i=4
i---i=(i--)-i=3-3=0 结束后i=2

i++相当(i,i=i+1)
++i相当(i=i+1,i)
遇到指针呢就不是单纯的+1了,是指向下一个数据。
for的执行顺序是
for(a;b;c)d;
a只运算一次
然后运算b,如果b为真,计算d,然后计算c,然后计算b,如果b为真...否则跳到d后的程序

i++就是先进行运算然后显示啊
++i就是先显示然后再进行运算
i--和--i如上

fjuyfjn