c语言后置 运算符,98-递增运算符的前置和后置形式

前面将++运算符放在变量前面,这叫做前置形式。

这个运算符也可以写在变量的后面,这称为后置形式。

在表达式,注意是在表达式中使用前置和后置形式的效果不大相同。

下面的用法#include 

int main(void)

{

int count = 0;

int total = count++  + 3;

printf("%d",total);

return 0;

}

等同于#include 

int main(void)

{

int count = 0;

int total = count  + 3;//如果++是后置 则 在这里就先进行+运算 然后再计算count++

count++;

printf("%d",total);

return 0;

}

如果表达式编写的是count++,则变量count的值在使用之后才递增。

比如

int count = 5;

int total = 6 + count++;

count初始值是5,这时候 由于++是写在count的后面,所以 就先使用了count的值进行加法运算,也就是 先让6+5 的结果是11 所以 total的值是11.然后 才将count的值+1 所以 最后

count的值变成了6 total的值变成了11

上面语句 等同于

total = 6 + count;

++count;#include 

int main()

{

int count = 5;

int total = 6 + count++;

printf("count:%d\n",count);

printf("total:%d\n",total);

return 0;

}

01d1a763663a187504006b897a1df109.png#include 

int main(void)

{

int count = 0;

int total = ++count  + 3;//++在前 则先进行count++ 然后再进行count+3

printf("%d",total);

return 0;

}

最后结果就输出了4

最后 count的值 不管是前置还是后置 都会变为6;

再看另外一种特殊情况

a++ +b  和 a+ ++b

例如#include 

int main()

{

int a = 10;

int b = 5;

int x = a++ + b; //++在后面 所以先让a的值 + b 结果付给x 后 然后 再让a的值+1

printf("%d",x);//15

return 0;

}

但是 如果写成这样#include 

int main()

{

int a = 10;

int b = 5;

int x = a+(++b); //++在b的前面 所以先计算++b 让b的值变成6 然后再10+6

printf("%d",x);//16

return 0;

}

上面 为了避免混淆。最好 使用括号。#include 

int main(void)

{

int count = 0;

int a = 3;

int total = count+++a;//(count++)+ a 或者 count + (++a)

printf("%d",total);

return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值