运算符所在位置的区别
自增自减运算符语法
自增运算符 ++ 使操作数的值加1,其操作数必须为可变左值(可简单地理解为变量)。对于自增就是加1这一点,Eric想大家都不会有什么疑问。
问题在于:++ 可以置于操作数前面,也可以放在后面,如:
++i;
++i表示,i自增1后再参与其它运算;而i++ 则是i参与运算后,i的值再自增1。
自减运算符--与之类似,只不过是变加为减而已,故不重述。
这是我在百度百科找到的解释,已经是非常清楚了
以一段代码为例:
i=1;
printf("%d",i++);//输出为2,i++是在使用i之后,使i得值加1
//现在我们将代码改为
i=1;
printf("%d",++i);//输出为1,++i是在使用i之后,使i得值加1
自减运算符和自加运算符相同;
1.(++),(--)只能用于变量,不可用于表达式和常数,如1++,(a+b)++,都是错误的。
2.为避免歧义,最好加上括号,如(i++)+j。
3.自增(自减)运算符也可用于指针变量,使指针指向下一个位置。