C语言 i++ ++i 傻傻分不清

i++就是先使用再相加(使用后是指此语句结束,是 ; , 之类的符号之后),++i就是先相加使用

我感觉i++,++i使用要分为两种情况

1 是在算式计算中

i++就先不管它,等这条语句结束再相加。

例:

int i;

i = i * ((i++) + (++i));

先算(i++) + (++i)       i++中的加加等遇到;后再加

所以是3 + 3 = 6

i * 6 = 3  * 6 =18

最后再加一,所以是19


2 在函数调用中

++i被替换成变量名,i++ 被替换成数值, i还是i

例:

void fun (int a ,int b, int c,int d)

{

printf("%d %d %d %d",a,b,c,d);

}


int main()

{

int i = 2;

fun(i++,++i,i,++i);//(4,i,I,I) -> (4,5,5,5)

return 0;

}


一个在努力中的未来程序员,如果有更好的想法,欢迎评论。

你可能感兴趣的:(C语言)