从大一初学C语言的时候就对自增运算符的这块内容感觉有点模糊,最近也再次遇到了这个问题。自增运算符灵活应用,就可以写出更简洁的代码,这是对技术的理解和应用。
最核心的一句话:“运算符和操作数合起来就是一个表达式(a++、++a都是表达式,a就是操作数)。注意:每一个表达式本身都有值(和其类型),那么自增运算表达式的值是什么呢? a++ 的值就是 a 的值,而 ++a 的值等于 a+1。 ”
举个例子就是:
int a = 100; 最开始时a是100。此时打印a,便是100.
打印 a++; 这个printf会打印a++的值,注意是a++表达式的值,a++的值就是a的值,也就是100。 打印之后,a开始进行自增操作,a的值变为101.
打印 ++a; 目前a的值为101。现在要打印++a表达式的值,++a的值就等于a+1,所以会打印出102。
参考了下文博客: