前置++与后置++都是对变量值进行+1 类似于a = a + 1 但他们的区别就在于前置后置关系
我们先来看后置++
后置++就是先使用变量 再对变量进行+1
我们来给出一个代码举例↓
#include<stdio.h>
int main()
{
int a = 10;
int b = a++;//后置++是先使用再++
printf("%d %d", a, b);
return 0;
}
可以先思考一下
下面是运行结果
就是可以理解为a是先使用 将a本身的值10赋给b 然后a再进行+1变成11
下面是函数传参的情况
#include<stdio.h>
void test(int b)
{
printf("%d \n", b);
}
int main()
{
int a = 10;
test(a++);
printf("%d \n", a);
return 0;
}
同样可以先思考结果
下面是运行结果↓
在进行test函数传参的时候实参是a是先使用再++的 形参b还是a本来的值10
下面是后置++
后置++是先对变形进行+1再使用
#include<stdio.h>
int main()
{
int a = 10;
int b = ++a;
printf("%d %d\n", a, b);
return 0;
}
结果是什么呢?
没错就是你想的那样 两个11
看一下传参的效果
#include<stdio.h>
void test(int b)
{
printf("%d \n", b);
}
int main()
{
int a = 10;
test(++a);
printf("%d \n", a);
return 0;
}
结果显而易见的
对与前置--与后置-- 逻辑是与++一样的 可以自己亲手实践一下
对于指针中的前置++与后置++还会更新 目前知识储备不够
敬请期待一下