首页 理论教育 C语言程序设计:自增/减运算符成果

C语言程序设计:自增/减运算符成果

时间:2023-10-26 理论教育 版权反馈
【摘要】:这样讲可能不太清楚,看下面的例子:例3.7:自增运算符使用示例。图3.7例3.7的运行结果a=++num1;这是一个赋值的过程,把++num1的值赋给a,因为自增运算符在变量的前面,所以num1先自增加1变为5,然后赋值给a,最终a也为5。

C语言程序设计:自增/减运算符成果

这是一类特殊的运算符,自增运算符++和自减运算符--,是对变量自身的值增加1和减少1。例如:

--count;这里相当于count=count-1;

count--;这里相当于count=count-1;

++amount;这里相当于amount=amount+1;

amount++;这里相当于amount=amount+1;

在这些例子里,运算符在前面还是在后面对本身的影响都是一样的,都是加1或者减1,但是当把他们作为其他表达式的一部分,两者就有区别了。运算符放在变量前面,那么在运算之前,变量先完成自增或自减运算;如果运算符放在后面,那么自增自减运算是在变量参加表达式的运算后再运算。这样讲可能不太清楚,看下面的例子:

例3.7:自增运算符使用示例。(www.xing528.com)

程序运行效果如图3.7。

图3.7 例3.7的运行结果

a=++num1;这是一个赋值的过程,把++num1的值赋给a,因为自增运算符在变量的前面,所以num1先自增加1变为5,然后赋值给a,最终a也为5。b=num2++;这是把num2++的值赋给b,因为自增运算符在变量的后面,所以先把num2赋值给b,b应该为8,然后num2自增加1变为9。

如果出现这样的情况我们怎样处理呢?

到底是c=(num1++)+num2;还是c=num1+(++num2)呢?这样的语句不仅可读性差,而且还要根据编译器来决定,不同的编译器可能有不同的结果。所以我们在以后的编程当中,应该尽量避免出现上面复杂的情况。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈